<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <meta name="generator" content="VuePress 2.0.0-beta.60">
    <script>
      (function() {
        const userMode = localStorage.getItem('vuepress-reco-color-scheme') || 'auto';
        const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;

        if (userMode === 'dark' || (userMode === 'auto' && systemDarkMode)) {
          document.documentElement.classList.toggle('dark', true);
        }
      })();
    </script>
    <title>Java 开发的工具 | 阿派 | Apai Blog</title><meta name="description" content="Just playing around">
    <link rel="modulepreload" href="/assets/app-8a43a0f0.js"><link rel="modulepreload" href="/assets/framework-e1bed10d.js"><link rel="modulepreload" href="/assets/JavaKaiFa.html-ff11bb84.js"><link rel="modulepreload" href="/assets/JavaKaiFa.html-4fbb86cc.js"><link rel="prefetch" href="/assets/index.html-ef2f4f01.js" as="script"><link rel="prefetch" href="/assets/index.html-1013d654.js" as="script"><link rel="prefetch" href="/assets/index.html-a146dedc.js" as="script"><link rel="prefetch" href="/assets/index.html-f4b2eaea.js" as="script"><link rel="prefetch" href="/assets/index.html-e3ed352e.js" as="script"><link rel="prefetch" href="/assets/index.html-42ce2ab9.js" as="script"><link rel="prefetch" href="/assets/index.html-ec24ec9e.js" as="script"><link rel="prefetch" href="/assets/index.html-d3d8d7ce.js" as="script"><link rel="prefetch" href="/assets/index.html-9faf073b.js" as="script"><link rel="prefetch" href="/assets/index.html-9364b7dd.js" as="script"><link rel="prefetch" href="/assets/index.html-fc0fb462.js" as="script"><link rel="prefetch" href="/assets/index.html-603c6c19.js" as="script"><link rel="prefetch" href="/assets/index.html-0349deb8.js" as="script"><link rel="prefetch" href="/assets/index.html-09405a87.js" as="script"><link rel="prefetch" href="/assets/index.html-91577c59.js" as="script"><link rel="prefetch" href="/assets/index.html-552ae255.js" as="script"><link rel="prefetch" href="/assets/index.html-424369c4.js" as="script"><link rel="prefetch" href="/assets/index.html-1dfc0069.js" as="script"><link rel="prefetch" href="/assets/index.html-ec62f595.js" as="script"><link rel="prefetch" href="/assets/index.html-4621ef22.js" as="script"><link rel="prefetch" href="/assets/index.html-e189ec13.js" as="script"><link rel="prefetch" href="/assets/index.html-b424a45b.js" as="script"><link rel="prefetch" href="/assets/index.html-623952a8.js" as="script"><link rel="prefetch" href="/assets/index.html-cedcb7c8.js" as="script"><link rel="prefetch" href="/assets/index.html-07f61d2f.js" as="script"><link rel="prefetch" href="/assets/index.html-9ef01f1e.js" as="script"><link rel="prefetch" href="/assets/index.html-dfa6d19f.js" as="script"><link rel="prefetch" href="/assets/index.html-23dd0955.js" as="script"><link rel="prefetch" href="/assets/index.html-1e7a4ff3.js" as="script"><link rel="prefetch" href="/assets/index.html-e12f154a.js" as="script"><link rel="prefetch" href="/assets/index.html-30de2d02.js" as="script"><link rel="prefetch" href="/assets/index.html-6a244983.js" as="script"><link rel="prefetch" href="/assets/index.html-8900b10e.js" as="script"><link rel="prefetch" href="/assets/index.html-b3210461.js" as="script"><link rel="prefetch" href="/assets/biaoqian-fenlei-moban.html-2db9524d.js" as="script"><link rel="prefetch" href="/assets/MuBan-Apai.html-5af383c8.js" as="script"><link rel="prefetch" href="/assets/guide.html-5aaed80e.js" as="script"><link rel="prefetch" href="/assets/Lu-aboutMe.html-82ee5401.js" as="script"><link rel="prefetch" href="/assets/kaishi.html-9d8493a0.js" as="script"><link rel="prefetch" href="/assets/Hobby-SheYing.html-3ac28a1b.js" as="script"><link rel="prefetch" href="/assets/Lu-aboutMe.html-96d10c31.js" as="script"><link rel="prefetch" href="/assets/Work-MaYun.html-5e497e8c.js" as="script"><link rel="prefetch" href="/assets/Java-basics.html-4a44925e.js" as="script"><link rel="prefetch" href="/assets/JavaAPI.html-ae8a1843.js" as="script"><link rel="prefetch" href="/assets/JavaBiKeng04.html-c9e75b16.js" as="script"><link rel="prefetch" href="/assets/JavaGongNeng03.html-6ca97faf.js" as="script"><link rel="prefetch" href="/assets/JavaJinJie02.html-eaabb81d.js" as="script"><link rel="prefetch" href="/assets/JavaMyUtil.html-e2cff404.js" as="script"><link rel="prefetch" href="/assets/MyBatisPlus.html-b608a85b.js" as="script"><link rel="prefetch" href="/assets/MySql.html-4bcdc408.js" as="script"><link rel="prefetch" href="/assets/MySqlFunction.html-23affe6f.js" as="script"><link rel="prefetch" href="/assets/RabbitMQ.html-2cc19b22.js" as="script"><link rel="prefetch" href="/assets/Redis.html-f7a014e9.js" as="script"><link rel="prefetch" href="/assets/ShiWuAffair.html-33f5c0c4.js" as="script"><link rel="prefetch" href="/assets/Spring.html-628746d6.js" as="script"><link rel="prefetch" href="/assets/SpringConfig.html-49f3c621.js" as="script"><link rel="prefetch" href="/assets/SpringPeiZhi.html-ac6df88a.js" as="script"><link rel="prefetch" href="/assets/SpringSecurity.html-057633f1.js" as="script"><link rel="prefetch" href="/assets/WebSocket.html-57d6fc97.js" as="script"><link rel="prefetch" href="/assets/DockerCompose.html-98ad6b52.js" as="script"><link rel="prefetch" href="/assets/Linux.html-43351365.js" as="script"><link rel="prefetch" href="/assets/Nginx.html-f1276de6.js" as="script"><link rel="prefetch" href="/assets/RabbitMQ_COPY.html-5cdb6370.js" as="script"><link rel="prefetch" href="/assets/Redis_COPY.html-486e1d26.js" as="script"><link rel="prefetch" href="/assets/Redis_CRUD.html-47e0af0f.js" as="script"><link rel="prefetch" href="/assets/BatJiaoBen.html-d2d2666a.js" as="script"><link rel="prefetch" href="/assets/DmShengChen.html-bb069d8e.js" as="script"><link rel="prefetch" href="/assets/EasyExcel.html-b1eb613d.js" as="script"><link rel="prefetch" href="/assets/GitLu.html-eae89aa5.js" as="script"><link rel="prefetch" href="/assets/JSR303.html-b976b418.js" as="script"><link rel="prefetch" href="/assets/MinIO.html-5e3d4702.js" as="script"><link rel="prefetch" href="/assets/ShardingJDBC.html-d0f811b3.js" as="script"><link rel="prefetch" href="/assets/Swagger.html-bb111a21.js" as="script"><link rel="prefetch" href="/assets/Vuepress.html-994cf672.js" as="script"><link rel="prefetch" href="/assets/Angular.html-3115afab.js" as="script"><link rel="prefetch" href="/assets/ElementUI.html-35bc6477.js" as="script"><link rel="prefetch" href="/assets/Html-Js.html-015f1806.js" as="script"><link rel="prefetch" href="/assets/Vue-basics.html-a64846f4.js" as="script"><link rel="prefetch" href="/assets/Vue3_group.html-f53be77f.js" as="script"><link rel="prefetch" href="/assets/Vue3_option.html-19f76b9e.js" as="script"><link rel="prefetch" href="/assets/ApifoxAPIceshi.html-19cd8153.js" as="script"><link rel="prefetch" href="/assets/PDManeryuanshujianmo.html-f6fa9d9e.js" as="script"><link rel="prefetch" href="/assets/OCRwenzishibie.html-11fc474d.js" as="script"><link rel="prefetch" href="/assets/EasyExcelbiaogeku.html-30777927.js" as="script"><link rel="prefetch" href="/assets/Javadaimashengchengqi.html-cf566ce0.js" as="script"><link rel="prefetch" href="/assets/JDKshuangbanben.html-1f259d3b.js" as="script"><link rel="prefetch" href="/assets/JSR303canshuxiaoyan.html-78322130.js" as="script"><link rel="prefetch" href="/assets/Mail  youjian.html-7e3a0f69.js" as="script"><link rel="prefetch" href="/assets/MyBatisPlusxiangjie.html-0168c152.js" as="script"><link rel="prefetch" href="/assets/MySQLzhucongfuzhi.html-7a4739e8.js" as="script"><link rel="prefetch" href="/assets/Redis-API.html-f488940c.js" as="script"><link rel="prefetch" href="/assets/SpringBootshiwu.html-c07a3864.js" as="script"><link rel="prefetch" href="/assets/SpringBootduxiefenli.html-f0993780.js" as="script"><link rel="prefetch" href="/assets/Springguolvqihelanjieqi.html-78feb321.js" as="script"><link rel="prefetch" href="/assets/WebSocket.html-caecf367.js" as="script"><link rel="prefetch" href="/assets/quanjuyichang-JSR303.html-add01eff.js" as="script"><link rel="prefetch" href="/assets/Docker.html-14746447.js" as="script"><link rel="prefetch" href="/assets/Dockeryuanchengfangwenbushu.html-7dc4f8d3.js" as="script"><link rel="prefetch" href="/assets/Nginxfanxiangdaili.html-42533685.js" as="script"><link rel="prefetch" href="/assets/Apai-SheYingOne.html-143bc574.js" as="script"><link rel="prefetch" href="/assets/Apai-Year.html-b713587f.js" as="script"><link rel="prefetch" href="/assets/My2305.html-b224c5e2.js" as="script"><link rel="prefetch" href="/assets/My2306.html-94838726.js" as="script"><link rel="prefetch" href="/assets/My2307.html-df2118c4.js" as="script"><link rel="prefetch" href="/assets/My2308.html-396c79bc.js" as="script"><link rel="prefetch" href="/assets/My2309.html-1ebdc4bb.js" as="script"><link rel="prefetch" href="/assets/My2310.html-d4ffbd04.js" as="script"><link rel="prefetch" href="/assets/My2311.html-30f23133.js" as="script"><link rel="prefetch" href="/assets/My2312.html-2da62191.js" as="script"><link rel="prefetch" href="/assets/Yi-HuBei.html-90d02bf7.js" as="script"><link rel="prefetch" href="/assets/Yi-ZhuHai.html-e202f6fb.js" as="script"><link rel="prefetch" href="/assets/Apache ECharts tubiao.html-6d4a4703.js" as="script"><link rel="prefetch" href="/assets/Vue3 zuheshi API.html-9fe2887f.js" as="script"><link rel="prefetch" href="/assets/Vue3 xuanxiangshi API.html-d584c181.js" as="script"><link rel="prefetch" href="/assets/Vue3-i18n-guojihuachajian.html-16f6e650.js" as="script"><link rel="prefetch" href="/assets/Batpichulijiaoben.html-307223b0.js" as="script"><link rel="prefetch" href="/assets/Gitgongzuoliu.html-fa6e129f.js" as="script"><link rel="prefetch" href="/assets/Typoratuchuang.html-22c57156.js" as="script"><link rel="prefetch" href="/assets/Vuepress.html-df146bdb.js" as="script"><link rel="prefetch" href="/assets/My2401.html-49f6440f.js" as="script"><link rel="prefetch" href="/assets/My2402.html-950d4e85.js" as="script"><link rel="prefetch" href="/assets/shenhai-0509.html-2007281b.js" as="script"><link rel="prefetch" href="/assets/zhuhaixing.html-17db8380.js" as="script"><link rel="prefetch" href="/assets/404.html-f9875e7b.js" as="script"><link rel="prefetch" href="/assets/index.html-40bced6f.js" as="script"><link rel="prefetch" href="/assets/index.html-3c78780e.js" as="script"><link rel="prefetch" href="/assets/index.html-ef51ba1b.js" as="script"><link rel="prefetch" href="/assets/index.html-bdec80a5.js" as="script"><link rel="prefetch" href="/assets/index.html-3b5427f8.js" as="script"><link rel="prefetch" href="/assets/index.html-cbd49540.js" as="script"><link rel="prefetch" href="/assets/index.html-b0b97c81.js" as="script"><link rel="prefetch" href="/assets/index.html-2793d245.js" as="script"><link rel="prefetch" href="/assets/index.html-71d9a5d9.js" as="script"><link rel="prefetch" href="/assets/index.html-4e7d77cd.js" as="script"><link rel="prefetch" href="/assets/index.html-aeace11a.js" as="script"><link rel="prefetch" href="/assets/index.html-c62ed802.js" as="script"><link rel="prefetch" href="/assets/index.html-e640d31f.js" as="script"><link rel="prefetch" href="/assets/index.html-48e1c605.js" as="script"><link rel="prefetch" href="/assets/index.html-385dcb56.js" as="script"><link rel="prefetch" href="/assets/index.html-1bb1a523.js" as="script"><link rel="prefetch" href="/assets/index.html-1ed80e8d.js" as="script"><link rel="prefetch" href="/assets/index.html-2c154a45.js" as="script"><link rel="prefetch" href="/assets/index.html-3e93d436.js" as="script"><link rel="prefetch" href="/assets/index.html-2a93e2c9.js" as="script"><link rel="prefetch" href="/assets/index.html-cff07ba3.js" as="script"><link rel="prefetch" href="/assets/index.html-7ec32a34.js" as="script"><link rel="prefetch" href="/assets/index.html-ddb40108.js" as="script"><link rel="prefetch" href="/assets/index.html-40ab6c4f.js" as="script"><link rel="prefetch" href="/assets/index.html-47e4ee8b.js" as="script"><link rel="prefetch" href="/assets/index.html-c15250e1.js" as="script"><link rel="prefetch" href="/assets/index.html-fb2ea2e4.js" as="script"><link rel="prefetch" href="/assets/index.html-d7e5408a.js" as="script"><link rel="prefetch" href="/assets/index.html-a38055d0.js" as="script"><link rel="prefetch" href="/assets/index.html-be4e50cb.js" as="script"><link rel="prefetch" href="/assets/index.html-660e4bef.js" as="script"><link rel="prefetch" href="/assets/index.html-98aa61ea.js" as="script"><link rel="prefetch" href="/assets/index.html-a6b7472f.js" as="script"><link rel="prefetch" href="/assets/index.html-ab78917a.js" as="script"><link rel="prefetch" href="/assets/biaoqian-fenlei-moban.html-f2c6c309.js" as="script"><link rel="prefetch" href="/assets/MuBan-Apai.html-5714876d.js" as="script"><link rel="prefetch" href="/assets/guide.html-9a89b22b.js" as="script"><link rel="prefetch" href="/assets/Lu-aboutMe.html-f8203e0a.js" as="script"><link rel="prefetch" href="/assets/kaishi.html-4ff9d0f3.js" as="script"><link rel="prefetch" href="/assets/Hobby-SheYing.html-e1ab7a00.js" as="script"><link rel="prefetch" href="/assets/Lu-aboutMe.html-4b735204.js" as="script"><link rel="prefetch" href="/assets/Work-MaYun.html-a185f330.js" as="script"><link rel="prefetch" href="/assets/Java-basics.html-c0d3a063.js" as="script"><link rel="prefetch" href="/assets/JavaAPI.html-f75cbb54.js" as="script"><link rel="prefetch" href="/assets/JavaBiKeng04.html-d2fc755d.js" as="script"><link rel="prefetch" href="/assets/JavaGongNeng03.html-c51a3060.js" as="script"><link rel="prefetch" href="/assets/JavaJinJie02.html-e5a66660.js" as="script"><link rel="prefetch" href="/assets/JavaMyUtil.html-6e16ee98.js" as="script"><link rel="prefetch" href="/assets/MyBatisPlus.html-1cafeb7e.js" as="script"><link rel="prefetch" href="/assets/MySql.html-5adc8c86.js" as="script"><link rel="prefetch" href="/assets/MySqlFunction.html-2c432c8c.js" as="script"><link rel="prefetch" href="/assets/RabbitMQ.html-d771200f.js" as="script"><link rel="prefetch" href="/assets/Redis.html-aa5c160a.js" as="script"><link rel="prefetch" href="/assets/ShiWuAffair.html-ce7fc825.js" as="script"><link rel="prefetch" href="/assets/Spring.html-3d622ed7.js" as="script"><link rel="prefetch" href="/assets/SpringConfig.html-6fe667f9.js" as="script"><link rel="prefetch" href="/assets/SpringPeiZhi.html-96b777da.js" as="script"><link rel="prefetch" href="/assets/SpringSecurity.html-fe792e2f.js" as="script"><link rel="prefetch" href="/assets/WebSocket.html-7fd7be86.js" as="script"><link rel="prefetch" href="/assets/DockerCompose.html-f6ef44c4.js" as="script"><link rel="prefetch" href="/assets/Linux.html-a1058183.js" as="script"><link rel="prefetch" href="/assets/Nginx.html-bf694d87.js" as="script"><link rel="prefetch" href="/assets/RabbitMQ_COPY.html-1e53d902.js" as="script"><link rel="prefetch" href="/assets/Redis_COPY.html-ef853ef3.js" as="script"><link rel="prefetch" href="/assets/Redis_CRUD.html-7a4bb7d5.js" as="script"><link rel="prefetch" href="/assets/BatJiaoBen.html-20ec59d7.js" as="script"><link rel="prefetch" href="/assets/DmShengChen.html-92a2db1f.js" as="script"><link rel="prefetch" href="/assets/EasyExcel.html-ac2c3493.js" as="script"><link rel="prefetch" href="/assets/GitLu.html-27823973.js" as="script"><link rel="prefetch" href="/assets/JSR303.html-0c745945.js" as="script"><link rel="prefetch" href="/assets/MinIO.html-958125dd.js" as="script"><link rel="prefetch" href="/assets/ShardingJDBC.html-ce0afe07.js" as="script"><link rel="prefetch" href="/assets/Swagger.html-9c9fb3be.js" as="script"><link rel="prefetch" href="/assets/Vuepress.html-4e07419a.js" as="script"><link rel="prefetch" href="/assets/Angular.html-3e716bd5.js" as="script"><link rel="prefetch" href="/assets/ElementUI.html-70835a6c.js" as="script"><link rel="prefetch" href="/assets/Html-Js.html-848bb521.js" as="script"><link rel="prefetch" href="/assets/Vue-basics.html-772005d8.js" as="script"><link rel="prefetch" href="/assets/Vue3_group.html-69369e84.js" as="script"><link rel="prefetch" href="/assets/Vue3_option.html-37ac05d4.js" as="script"><link rel="prefetch" href="/assets/ApifoxAPIceshi.html-0bcb1468.js" as="script"><link rel="prefetch" href="/assets/PDManeryuanshujianmo.html-4c377e02.js" as="script"><link rel="prefetch" href="/assets/OCRwenzishibie.html-b4248616.js" as="script"><link rel="prefetch" href="/assets/EasyExcelbiaogeku.html-511b0f0b.js" as="script"><link rel="prefetch" href="/assets/Javadaimashengchengqi.html-33991c95.js" as="script"><link rel="prefetch" href="/assets/JDKshuangbanben.html-8bba14d4.js" as="script"><link rel="prefetch" href="/assets/JSR303canshuxiaoyan.html-7d12c0ef.js" as="script"><link rel="prefetch" href="/assets/Mail  youjian.html-d520132f.js" as="script"><link rel="prefetch" href="/assets/MyBatisPlusxiangjie.html-94d1940a.js" as="script"><link rel="prefetch" href="/assets/MySQLzhucongfuzhi.html-bf156f04.js" as="script"><link rel="prefetch" href="/assets/Redis-API.html-534cd405.js" as="script"><link rel="prefetch" href="/assets/SpringBootshiwu.html-a83407ed.js" as="script"><link rel="prefetch" href="/assets/SpringBootduxiefenli.html-e50eba32.js" as="script"><link rel="prefetch" href="/assets/Springguolvqihelanjieqi.html-b7cdfd68.js" as="script"><link rel="prefetch" href="/assets/WebSocket.html-7c2b5253.js" as="script"><link rel="prefetch" href="/assets/quanjuyichang-JSR303.html-1f70d8b7.js" as="script"><link rel="prefetch" href="/assets/Docker.html-51026828.js" as="script"><link rel="prefetch" href="/assets/Dockeryuanchengfangwenbushu.html-f42be316.js" as="script"><link rel="prefetch" href="/assets/Nginxfanxiangdaili.html-a98dc972.js" as="script"><link rel="prefetch" href="/assets/Apai-SheYingOne.html-b5b7ae7c.js" as="script"><link rel="prefetch" href="/assets/Apai-Year.html-ce260a3f.js" as="script"><link rel="prefetch" href="/assets/My2305.html-8daa1c69.js" as="script"><link rel="prefetch" href="/assets/My2306.html-893e00c1.js" as="script"><link rel="prefetch" href="/assets/My2307.html-e78450ff.js" as="script"><link rel="prefetch" href="/assets/My2308.html-0e38205b.js" as="script"><link rel="prefetch" href="/assets/My2309.html-06a48ebc.js" as="script"><link rel="prefetch" href="/assets/My2310.html-59afa2c3.js" as="script"><link rel="prefetch" href="/assets/My2311.html-b634eab1.js" as="script"><link rel="prefetch" href="/assets/My2312.html-aafaa08a.js" as="script"><link rel="prefetch" href="/assets/Yi-HuBei.html-61c8ef5d.js" as="script"><link rel="prefetch" href="/assets/Yi-ZhuHai.html-26a46f60.js" as="script"><link rel="prefetch" href="/assets/Apache ECharts tubiao.html-e9cc0012.js" as="script"><link rel="prefetch" href="/assets/Vue3 zuheshi API.html-11ae0fbc.js" as="script"><link rel="prefetch" href="/assets/Vue3 xuanxiangshi API.html-ce744458.js" as="script"><link rel="prefetch" href="/assets/Vue3-i18n-guojihuachajian.html-1fa338e8.js" as="script"><link rel="prefetch" href="/assets/Batpichulijiaoben.html-06ab27bc.js" as="script"><link rel="prefetch" href="/assets/Gitgongzuoliu.html-b1e45d5c.js" as="script"><link rel="prefetch" href="/assets/Typoratuchuang.html-cb5c9b25.js" as="script"><link rel="prefetch" href="/assets/Vuepress.html-c36453a2.js" as="script"><link rel="prefetch" href="/assets/My2401.html-9b16cb88.js" as="script"><link rel="prefetch" href="/assets/My2402.html-3ade37a1.js" as="script"><link rel="prefetch" href="/assets/shenhai-0509.html-648d7d95.js" as="script"><link rel="prefetch" href="/assets/zhuhaixing.html-7d486783.js" as="script"><link rel="prefetch" href="/assets/404.html-7c90b0cc.js" as="script"><link rel="prefetch" href="/assets/reco-valine-a0c1af1f.js" as="script">
    <link rel="preload" href="/assets/style-8a0f09c6.css" as="style"><link rel="stylesheet" href="/assets/style-8a0f09c6.css">
  </head>
  <body>
    <div id="app"><!--[--><div class="theme-container"><div class="common-wrapper show-series show-catalog"><div><header class="navbar-container"><!--[--><div class="site-brand nav-item"><img class="logo" src="/logo.png" alt="阿派 | Apai Blog"><a href="/" class="site-name can-hide">阿派 | Apai Blog</a></div><div class="nav-item navbar-links-wrapper" style=""><form class="search-box" role="search"><input type="search" autocomplete="off" spellcheck="false" value><!----></form><nav class="navbar-links"><!--[--><div class="navbar-links__item"><a href="/" class="link router-link-active" aria-label="Home"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Home<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><a href="/categories/Java/1/" class="link" aria-label="分类组"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->分类组<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><a href="/tags/Rests/1/" class="link" aria-label="标签组"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->标签组<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><div class="dropdown-link"><button class="dropdown-link__title" type="button" aria-label="文档组"><span class="xicon-container left title"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->文档组<!--]--></span></span><span class="arrow down"></span></button><button class="dropdown-link--mobile__title" type="button" aria-label="文档组"><span class="title"><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->文档组<!--]--></span></span></span><span class="right arrow"></span></button><ul style="display:none;" class="dropdown-link__container"><!--[--><li class="dropdown-link__item"><a href="/docs/Web-develop/Html-Js" class="link" aria-label="Web-开发"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Web-开发<!--]--></span></span><!--[--><!--]--></a></li><li class="dropdown-link__item"><a href="/docs/Java-develop/JavaMyUtil" class="link" aria-label="Java-开发"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Java-开发<!--]--></span></span><!--[--><!--]--></a></li><li class="dropdown-link__item"><a href="/docs/Linux-develop/Linux" class="link" aria-label="Linux-系统"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Linux-系统<!--]--></span></span><!--[--><!--]--></a></li><li class="dropdown-link__item"><a href="/docs/Rests-docs/Vuepress" class="link" aria-label="Apai-其他"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Apai-其他<!--]--></span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-links__item"><div class="dropdown-link"><button class="dropdown-link__title" type="button" aria-label="花圃里"><span class="xicon-container left title"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->花圃里<!--]--></span></span><span class="arrow down"></span></button><button class="dropdown-link--mobile__title" type="button" aria-label="花圃里"><span class="title"><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->花圃里<!--]--></span></span></span><span class="right arrow"></span></button><ul style="display:none;" class="dropdown-link__container"><!--[--><li class="dropdown-link__item"><a href="/docs/Apai-MyRecord/My-2023/My2307" class="link" aria-label="2023-花开万里"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2023-花开万里<!--]--></span></span><!--[--><!--]--></a></li><li class="dropdown-link__item"><a href="/docs/Apai-MyRecord/My-2024/My2401" class="link" aria-label="2024-随心而来"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2024-随心而来<!--]--></span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-links__item"><a href="/docs/Apai-AboutMe/Lu-aboutMe" class="link" aria-label="关于我"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->关于我<!--]--></span></span><!--[--><!--]--></a></div><!--]--></nav><span class="xicon-container btn-toggle-dark-mode btn--dark-mode"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" style="width:20px;height:20px;font-size:20px;color:inherit;"><path d="M15 2h2v3h-2z" fill="currentColor"></path><path d="M27 15h3v2h-3z" fill="currentColor"></path><path d="M15 27h2v3h-2z" fill="currentColor"></path><path d="M2 15h3v2H2z" fill="currentColor"></path><path d="M5.45 6.884l1.414-1.415l2.121 2.122l-1.414 1.414z" fill="currentColor"></path><path d="M23 7.58l2.121-2.12l1.414 1.414l-2.121 2.121z" fill="currentColor"></path><path d="M23.002 24.416l1.415-1.414l2.12 2.122l-1.413 1.414z" fill="currentColor"></path><path d="M5.47 25.13L7.59 23L9 24.42l-2.12 2.12l-1.41-1.41z" fill="currentColor"></path><path d="M16 8a8 8 0 1 0 8 8a8 8 0 0 0-8-8zm0 14a6 6 0 0 1 0-12z" fill="currentColor"></path></svg></span><span class="xicon-container btn-toggle-menus"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" style="width:20px;height:20px;font-size:20px;color:inherit;"><circle cx="16" cy="8" r="2" fill="currentColor"></circle><circle cx="16" cy="16" r="2" fill="currentColor"></circle><circle cx="16" cy="24" r="2" fill="currentColor"></circle></svg></span></div><!--]--></header><div class="mobile-menus-container"><nav class="navbar-links mobile"><!--[--><div class="navbar-links__item"><a href="/" class="link router-link-active" aria-label="Home"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Home<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><a href="/categories/Java/1/" class="link" aria-label="分类组"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->分类组<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><a href="/tags/Rests/1/" class="link" aria-label="标签组"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->标签组<!--]--></span></span><!--[--><!--]--></a></div><div class="navbar-links__item"><div class="dropdown-link"><button class="dropdown-link__title" type="button" aria-label="文档组"><span class="xicon-container left title"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->文档组<!--]--></span></span><span class="arrow down"></span></button><button class="dropdown-link--mobile__title" type="button" aria-label="文档组"><span class="title"><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->文档组<!--]--></span></span></span><span class="right arrow"></span></button><ul style="display:none;" class="dropdown-link__container"><!--[--><li class="dropdown-link__item"><a href="/docs/Web-develop/Html-Js" class="link" aria-label="Web-开发"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Web-开发<!--]--></span></span><!--[--><!--]--></a></li><li class="dropdown-link__item"><a href="/docs/Java-develop/JavaMyUtil" class="link" aria-label="Java-开发"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Java-开发<!--]--></span></span><!--[--><!--]--></a></li><li class="dropdown-link__item"><a href="/docs/Linux-develop/Linux" class="link" aria-label="Linux-系统"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Linux-系统<!--]--></span></span><!--[--><!--]--></a></li><li class="dropdown-link__item"><a href="/docs/Rests-docs/Vuepress" class="link" aria-label="Apai-其他"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Apai-其他<!--]--></span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-links__item"><div class="dropdown-link"><button class="dropdown-link__title" type="button" aria-label="花圃里"><span class="xicon-container left title"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->花圃里<!--]--></span></span><span class="arrow down"></span></button><button class="dropdown-link--mobile__title" type="button" aria-label="花圃里"><span class="title"><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->花圃里<!--]--></span></span></span><span class="right arrow"></span></button><ul style="display:none;" class="dropdown-link__container"><!--[--><li class="dropdown-link__item"><a href="/docs/Apai-MyRecord/My-2023/My2307" class="link" aria-label="2023-花开万里"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2023-花开万里<!--]--></span></span><!--[--><!--]--></a></li><li class="dropdown-link__item"><a href="/docs/Apai-MyRecord/My-2024/My2401" class="link" aria-label="2024-随心而来"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2024-随心而来<!--]--></span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-links__item"><a href="/docs/Apai-AboutMe/Lu-aboutMe" class="link" aria-label="关于我"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->关于我<!--]--></span></span><!--[--><!--]--></a></div><!--]--></nav><div class="appearance"><span>Appearance</span><span class="xicon-container btn-toggle-dark-mode"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" style="width:20px;height:20px;font-size:20px;color:inherit;"><path d="M15 2h2v3h-2z" fill="currentColor"></path><path d="M27 15h3v2h-3z" fill="currentColor"></path><path d="M15 27h2v3h-2z" fill="currentColor"></path><path d="M2 15h3v2H2z" fill="currentColor"></path><path d="M5.45 6.884l1.414-1.415l2.121 2.122l-1.414 1.414z" fill="currentColor"></path><path d="M23 7.58l2.121-2.12l1.414 1.414l-2.121 2.121z" fill="currentColor"></path><path d="M23.002 24.416l1.415-1.414l2.12 2.122l-1.413 1.414z" fill="currentColor"></path><path d="M5.47 25.13L7.59 23L9 24.42l-2.12 2.12l-1.41-1.41z" fill="currentColor"></path><path d="M16 8a8 8 0 1 0 8 8a8 8 0 0 0-8-8zm0 14a6 6 0 0 1 0-12z" fill="currentColor"></path></svg></span></div></div><div class="series-mask"></div><aside class="series-container"><div class="site-brand"><img class="logo" src="/logo.png" alt="阿派 | Apai Blog"><a href="/" class="site-name can-hide">阿派 | Apai Blog</a></div><!--[--><!--[--><section class="series-group series-item"><h5 class="series-heading active">My Apai</h5><ul><li><!--[--><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html" class="router-link-active router-link-exact-active link router-link-active series-item active" aria-label="Java 开发的工具"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Java 开发的工具<!--]--></span></span><!--[--><!--]--></a><!--]--></li><li><!--[--><a href="/docs/Rests-docs/DmShengChen.html" class="link series-item" aria-label="Java 代码生成器"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Java 代码生成器<!--]--></span></span><!--[--><!--]--></a><!--]--></li></ul></section><!--]--><!--[--><section class="series-group series-item"><h5 class="series-heading">Apai 大杂烩</h5><ul><li><!--[--><a href="/docs/Rests-docs/Vuepress.html" class="link series-item" aria-label="个人网站搭建"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->个人网站搭建<!--]--></span></span><!--[--><!--]--></a><!--]--></li><li><!--[--><a href="/docs/Rests-docs/GitLu.html" class="link series-item" aria-label="Git 工作流"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Git 工作流<!--]--></span></span><!--[--><!--]--></a><!--]--></li><li><!--[--><a href="/docs/Rests-docs/BatJiaoBen.html" class="link series-item" aria-label="Bat 批处理脚本"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Bat 批处理脚本<!--]--></span></span><!--[--><!--]--></a><!--]--></li></ul></section><!--]--><!--[--><section class="series-group series-item"><h5 class="series-heading">技术组</h5><ul><li><!--[--><a href="/docs/Rests-docs/ShardingJDBC.html" class="link series-item" aria-label="Spring 分库分表"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Spring 分库分表<!--]--></span></span><!--[--><!--]--></a><!--]--></li><li><!--[--><a href="/docs/Rests-docs/Swagger.html" class="link series-item" aria-label="Swagger 接口测试"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Swagger 接口测试<!--]--></span></span><!--[--><!--]--></a><!--]--></li><li><!--[--><a href="/docs/Rests-docs/EasyExcel.html" class="link series-item" aria-label="Easy Excel 表格库"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Easy Excel 表格库<!--]--></span></span><!--[--><!--]--></a><!--]--></li><li><!--[--><a href="/docs/Rests-docs/JSR303.html" class="link series-item" aria-label="JSR303n 参数校验"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->JSR303n 参数校验<!--]--></span></span><!--[--><!--]--></a><!--]--></li></ul></section><!--]--><!--[--><section class="series-group series-item"><h5 class="series-heading">工具组</h5><ul><li><!--[--><a href="/docs/Rests-docs/MinIO.html" class="link series-item" aria-label="MinIO 对象存储"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->MinIO 对象存储<!--]--></span></span><!--[--><!--]--></a><!--]--></li></ul></section><!--]--><!--]--></aside><!--[--><main class="page-container"><h1 class="page-title">Java 开发的工具</h1><div class="page-info"><span class="xicon-container left"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:18px;height:18px;font-size:18px;color:inherit;"><path d="M16 4a5 5 0 1 1-5 5a5 5 0 0 1 5-5m0-2a7 7 0 1 0 7 7a7 7 0 0 0-7-7z" fill="currentColor"></path><path d="M26 30h-2v-5a5 5 0 0 0-5-5h-6a5 5 0 0 0-5 5v5H6v-5a7 7 0 0 1 7-7h6a7 7 0 0 1 7 7z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->LuisApai<!--]--></span></span><span class="xicon-container left"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:18px;height:18px;font-size:18px;color:inherit;"><path d="M26 4h-4V2h-2v2h-8V2h-2v2H6c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 22H6V12h20v14zm0-16H6V6h4v2h2V6h8v2h2V6h4v4z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2023/04/26<!--]--></span></span><!----><!----><!----></div><div class="theme-reco-default-content"><div><h2 id="java-开发的工具" tabindex="-1"><a class="header-anchor" href="#java-开发的工具" aria-hidden="true">#</a> | --- Java 开发的工具</h2><hr><h2 id="代码查看-app" tabindex="-1"><a class="header-anchor" href="#代码查看-app" aria-hidden="true">#</a> 代码查看 App</h2><h3 id="_1-typora-md-文档" tabindex="-1"><a class="header-anchor" href="#_1-typora-md-文档" aria-hidden="true">#</a> 1.Typora MD 文档</h3><h4 id="安装步骤" tabindex="-1"><a class="header-anchor" href="#安装步骤" aria-hidden="true">#</a> 安装步骤</h4><ul><li><a href="https://www.aliyundrive.com/s/nMf4vXpC73M" target="_blank" rel="noopener noreferrer">Typora MD 文件下载地址 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li><a href="https://foxirj.com/typora-mac.html" target="_blank" rel="noopener noreferrer">参考地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>设置图床参考我的 <a href="https://luisapai.gitee.io/blogs/GongZuo/dazahui/Typoratuchuang.html" target="_blank" rel="noopener noreferrer">网站文章<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1</span>、安装运行库 https<span class="token operator">:</span><span class="token operator">/</span><span class="token operator">/</span>aka<span class="token punctuation">.</span>ms<span class="token operator">/</span>vs<span class="token operator">/</span><span class="token number">16</span><span class="token operator">/</span>release<span class="token operator">/</span>vc_redist<span class="token punctuation">.</span>x64<span class="token punctuation">.</span>exe <span class="token operator">|</span> 运行：<span class="token class-name">VC_redist</span><span class="token punctuation">.</span>x64<span class="token punctuation">.</span>exe
<span class="token number">1</span>、安装软件并关闭
<span class="token number">2</span>、将破解补丁复制到<span class="token class-name">C</span><span class="token operator">:</span>\<span class="token class-name">Program</span> <span class="token class-name">Files</span>\<span class="token class-name">Typora</span>中
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>java 代码笔记工具</p></blockquote><p>注意: 备份笔记图片</p><ul><li><p>默认图片存放地址: C:\Users\Lujun\iCloudDrive\风吹着花海香\那一刻的月亮\imges</p></li><li><p>拷贝该文件夹 放入该路径下 在打开笔记即可同步图片</p></li></ul><blockquote><p>typora 配合 gitee 实现图片云存储</p></blockquote><p>1.gitee 新建代码仓库, 公开</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220906190739323.png" alt="image-20220906190739323"></p><p>2.使用小章鱼克隆到本地文件夹, 将MD存储的图片存入该文件夹</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220906190815912.png" alt="image-20220906190815912"></p><p>3.将面对 MD 的图片地址全部替换 gitee仓库图片的地址</p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>源地址<span class="token operator">:</span> <span class="token class-name">C</span><span class="token operator">:</span>\<span class="token class-name">Users</span>\<span class="token class-name">Lujun</span>\iCloudDrive\风吹着花海香\那一刻的月亮\apai_imags<span class="token punctuation">[</span>防止替换<span class="token punctuation">]</span>\
替换<span class="token operator">:</span> 
云地址<span class="token operator">:</span> https<span class="token operator">:</span><span class="token operator">/</span><span class="token operator">/</span>gitee<span class="token punctuation">.</span>com<span class="token operator">/</span><span class="token class-name">LuisApai</span><span class="token operator">/</span><span class="token class-name">Apai_image_MD</span><span class="token operator">/</span>raw<span class="token operator">/</span>master
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220906190908376.png" alt="image-20220906190908376"></p><p>4.最后我们可以每次手动使用小章鱼上传图片, 替换地址后,直接上传CSDN即可显示图片</p><h3 id="_2-notepad" tabindex="-1"><a class="header-anchor" href="#_2-notepad" aria-hidden="true">#</a> 2.Notepad</h3><blockquote><p>Notepad++: 代码查看器</p></blockquote><p><img src="https://gitee.com/LuisApai/Apai_image_MD/raw/master/image-20220531105540340.png" alt="image-20220531105540340"></p><hr><h3 id="_3-editplus" tabindex="-1"><a class="header-anchor" href="#_3-editplus" aria-hidden="true">#</a> 3.EditPlus</h3><ul><li>EditPlus <a href="http://zhangzj.com/1899/11/30/editplus-install/" target="_blank" rel="noopener noreferrer">安装参考地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>EditPlus <a href="https://www.aliyundrive.com/s/dSSkZrUpSXT" target="_blank" rel="noopener noreferrer">网盘下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><p><strong>安装汉化及激活</strong></p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1.</span> <span class="token class-name">EditPlus</span> 网盘下载 <span class="token operator">|</span> 正常安装
<span class="token number">2.</span> 将 <span class="token class-name">EditPlus</span><span class="token number">.5</span><span class="token number">.5</span><span class="token number">.4182</span><span class="token number">.64</span>位 文件夹下的启动文件替换安装位置的文件即可汉化
<span class="token number">3.</span> 激活 <span class="token class-name">Username</span>填写：<span class="token class-name">Vovan</span> <span class="token operator">|</span>  <span class="token class-name">Regcode</span>填写：<span class="token number">3</span><span class="token constant">AG46</span><span class="token operator">-</span><span class="token constant">JJ48E</span><span class="token operator">-</span><span class="token constant">CEACC</span><span class="token operator">-</span><span class="token number">8E6</span><span class="token constant">EW</span><span class="token operator">-</span><span class="token constant">ECUAW</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520150028149.png" alt="image-20230520150028149"></p><h2 id="java-基础必备" tabindex="-1"><a class="header-anchor" href="#java-基础必备" aria-hidden="true">#</a> Java 基础必备</h2><h3 id="_1-jdk-8" tabindex="-1"><a class="header-anchor" href="#_1-jdk-8" aria-hidden="true">#</a> 1.JDK 8</h3><ul><li>下载 java8 <a href="https://www.aliyundrive.com/s/1XCsgS645oy" target="_blank" rel="noopener noreferrer">地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>jdk 8 <a href="https://blog.csdn.net/weixin_42182599/article/details/107370719" target="_blank" rel="noopener noreferrer">安装步骤<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>【最后一项环境变量即可不配】</li></ul><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1.</span> 安装 jdk<span class="token operator">-</span><span class="token number">8</span>u74<span class="token operator">-</span>windows<span class="token operator">-</span>x64<span class="token punctuation">.</span>exe
<span class="token number">2.</span> 安装时可以选择安装位置有两处 jdk、jer 注意： 别放同一个文件夹
<span class="token number">2.</span> 环境变量的配置， 在“我的电脑”中的“属性”里配置<span class="token constant">PATH</span>、<span class="token constant">JAVA_HOME</span>和<span class="token constant">CLASSPATH</span>。
	path（已存在不用新建）添加变量值 			<span class="token class-name">C</span><span class="token operator">:</span>\<span class="token class-name">Program</span> <span class="token class-name">Files</span>\<span class="token class-name">Java</span>\jdk1<span class="token punctuation">.</span><span class="token number">8.0</span>\bin<span class="token punctuation">;</span>                    这是你电脑里面jdk安装的bin路径
	在系统变量里新建<span class="token constant">JAVA_HOME</span>变量，变量值为	<span class="token class-name">C</span><span class="token operator">:</span>\<span class="token class-name">Program</span> <span class="token class-name">Files</span>\<span class="token class-name">Java</span>\jdk1<span class="token punctuation">.</span><span class="token number">8.0</span>                        这是你电脑里面jdk的安装路径
	在系统变量里新建classpath变量，变量值为 	<span class="token punctuation">.</span><span class="token punctuation">;</span><span class="token operator">%</span><span class="token constant">JAVA_HOME</span><span class="token operator">%</span>\lib\tools<span class="token punctuation">.</span>jar<span class="token punctuation">;</span><span class="token operator">%</span><span class="token constant">JAVA_HOME</span><span class="token operator">%</span>\lib\dt<span class="token punctuation">.</span>jar<span class="token punctuation">;</span>   这部分完整复制  
<span class="token number">3.</span> 在cmd窗口输入 javac 出现信息即可安装成功
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520114452445.png" alt="image-20230520114452445"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520114612824.png" alt="image-20230520114612824"></p><h3 id="_2-mysql8" tabindex="-1"><a class="header-anchor" href="#_2-mysql8" aria-hidden="true">#</a> 2.MySQL8</h3><p>省略....</p><h3 id="_3-navicat-数据库可视化" tabindex="-1"><a class="header-anchor" href="#_3-navicat-数据库可视化" aria-hidden="true">#</a> 3.Navicat 数据库可视化</h3><ul><li>Navicat 16.0.6 <a href="https://www.aliyundrive.com/s/GMGXFLa9xn3" target="_blank" rel="noopener noreferrer">下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>安装 破解 <a href="https://www.yutu.cn/softhtml/softsetup_6802.html" target="_blank" rel="noopener noreferrer">参考地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1.</span> 解压安装目录 正常安装 最后关闭软件
<span class="token number">2.</span> 打开软件安装目录：<span class="token class-name">C</span><span class="token operator">:</span>\<span class="token class-name">Program</span> <span class="token class-name">Files</span>\<span class="token class-name">PremiumSoft</span>\<span class="token class-name">Navicat</span> <span class="token class-name">Premium</span> <span class="token number">16</span>，将试用补丁<span class="token class-name">Crack</span>文件夹的libcc<span class="token punctuation">.</span>dll文件复制到安装目录下替换
<span class="token number">3.</span> 运行无限试用脚本。因为本软件目前没有注册机，但压缩包里有清除试用到期状态的脚本，运行即可
<span class="token number">4.</span> 打开软件
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520115253066.png" alt="image-20230520115253066"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520115303869.png" alt="image-20230520115303869"></p><h3 id="_4-powerdesigner-表设计" tabindex="-1"><a class="header-anchor" href="#_4-powerdesigner-表设计" aria-hidden="true">#</a> 4.PowerDesigner 表设计</h3><ul><li>PowerDesigner <a href="https://www.aliyundrive.com/s/pBim7t61tBy" target="_blank" rel="noopener noreferrer">下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>PowerDesigner <a href="https://jingyan.baidu.com/article/5d6edee21c8d94d8ebdeec45.html" target="_blank" rel="noopener noreferrer">安装参考地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><p><strong>PowerDesigner 安装</strong></p><p>1.正常安装 PowerDesigner165.exe 文件</p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>以试用的方式先把软件装好，选择“<span class="token class-name">Trail</span>”<span class="token operator">--</span>next
上方选择语音“<span class="token class-name">Peoples</span> <span class="token class-name">Republic</span> of <span class="token class-name">China</span><span class="token punctuation">(</span><span class="token constant">PRC</span><span class="token punctuation">)</span>”<span class="token punctuation">,</span>勾选协议“<span class="token class-name">I</span> <span class="token constant">AGREE</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>”<span class="token operator">--</span><span class="token constant">NEXT</span>
点击“<span class="token class-name">Browser</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>”选择安装目录，也可以不选，建议不要安装在<span class="token class-name">C</span>盘，并且安装的目录不好包含中文，<span class="token constant">NEXT</span>
选中自己需要的<span class="token operator">--</span><span class="token function">next</span><span class="token punctuation">(</span>不知道或不确定自己会需要哪些，可以全部都安装了<span class="token punctuation">)</span>，<span class="token constant">NEXT</span>
同理，选中自己需要的<span class="token operator">--</span><span class="token function">next</span><span class="token punctuation">(</span>不知道或不确定自己会需要哪些，可以全部都安装了<span class="token punctuation">)</span>，<span class="token constant">NEXT</span><span class="token operator">--</span><span class="token constant">NEXT</span><span class="token operator">--</span><span class="token constant">NEXT</span><span class="token operator">--</span><span class="token class-name">Finish</span>，等待一段时间就安装好了。
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>2.破解</p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>把pdflm16<span class="token punctuation">.</span>dll文件复制到<span class="token class-name">Powerdesigner</span>的安装目录，
我的目录是<span class="token class-name">D</span><span class="token operator">:</span>\install\works\<span class="token class-name">PowerDesigner</span> <span class="token number">16</span>，如果提示是否替换，直接选择“替换目标中的文件”，破解完成
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>3.汉化</p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>汉化可以按照自己的需求配置或不配置，进入汉化文件夹，
把里面的内容都复制到<span class="token class-name">Powerdesigner</span>的安装目录，我的目录是<span class="token class-name">D</span><span class="token operator">:</span>\install\works\<span class="token class-name">PowerDesigner</span> <span class="token number">16</span>，直接替换就行，汉化完成。
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_5-eclipse-代码编写" tabindex="-1"><a class="header-anchor" href="#_5-eclipse-代码编写" aria-hidden="true">#</a> 5.Eclipse: 代码编写</h3><p>省略....</p><h3 id="_6-visual-studio-code" tabindex="-1"><a class="header-anchor" href="#_6-visual-studio-code" aria-hidden="true">#</a> 6.Visual Studio Code</h3><h4 id="常用插件" tabindex="-1"><a class="header-anchor" href="#常用插件" aria-hidden="true">#</a> 常用插件:</h4><h5 id="vue-导入路径提示" tabindex="-1"><a class="header-anchor" href="#vue-导入路径提示" aria-hidden="true">#</a> vue 导入路径提示</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220620095448774.png" alt="image-20220620095448774"></p><h4 id="软件设置" tabindex="-1"><a class="header-anchor" href="#软件设置" aria-hidden="true">#</a> 软件设置:</h4><h5 id="用户代码片段" tabindex="-1"><a class="header-anchor" href="#用户代码片段" aria-hidden="true">#</a> 用户代码片段</h5><blockquote><p>能够储存 重复使用的代码 使用只需要按下设置的快捷键</p><p>位置: 左下角齿轮设置里 --&gt; 用户代码片段</p><p>/t 空格 /&quot; 双引号</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220606152759874.png" alt="image-20220606152759874"></p><blockquote><p>中文模板</p></blockquote><div class="language-json line-numbers-mode" data-ext="json"><pre class="language-json"><code><span class="token punctuation">{</span>
	<span class="token property">&quot;HTML-template&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
		<span class="token property">&quot;prefix&quot;</span><span class="token operator">:</span> <span class="token string">&quot;!&quot;</span><span class="token punctuation">,</span>  <span class="token comment">// 触发用户代码片段的字符</span>
		<span class="token property">&quot;body&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
			<span class="token string">&quot;&lt;!DOCTYPE html&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;&lt;html lang=\&quot;zh-cn\&quot;&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;&lt;head&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t&lt;meta charset=\&quot;UTF-8\&quot;&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t&lt;meta name=\&quot;viewport\&quot; content=\&quot;width=device-width, initial-scale=1.0\&quot;&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t&lt;meta http-equiv=\&quot;X-UA-Compatible\&quot; content=\&quot;ie=edge\&quot;&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t&lt;title&gt;网页名&lt;/title&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t&lt;style&gt;\n&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t&lt;/style&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;&lt;/head&gt;\n&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;&lt;body&gt;\n&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;&lt;/body&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;&lt;/html&gt;&quot;</span>
		<span class="token punctuation">]</span><span class="token punctuation">,</span>
		<span class="token property">&quot;description&quot;</span><span class="token operator">:</span> <span class="token string">&quot;默认中文&quot;</span> <span class="token comment">// 模板的描述</span>
	<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>Vue 模板</p></blockquote><div class="language-json line-numbers-mode" data-ext="json"><pre class="language-json"><code><span class="token punctuation">{</span>
	<span class="token property">&quot;Vue-template&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
		<span class="token property">&quot;prefix&quot;</span><span class="token operator">:</span> <span class="token string">&quot;vml&quot;</span><span class="token punctuation">,</span>  <span class="token comment">// 触发用户代码片段的字符</span>
		<span class="token property">&quot;body&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
			<span class="token string">&quot;&lt;script src=\&quot;js/vue.js\&quot; &gt;&lt;/script&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;&lt;script&gt;&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\tconst vm = new Vue({&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t\tel: &#39;#app&#39;,&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t\tdata: {&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t\t\t&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t\t},&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t\tmethods: {&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t\t\t&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t\t},&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;\t})&quot;</span><span class="token punctuation">,</span>
			<span class="token string">&quot;&lt;/script&gt;&quot;</span><span class="token punctuation">,</span>
		<span class="token punctuation">]</span><span class="token punctuation">,</span>
		<span class="token property">&quot;description&quot;</span><span class="token operator">:</span> <span class="token string">&quot;vue 模板&quot;</span> <span class="token comment">// 模板的描述</span>
	<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_7-idea" tabindex="-1"><a class="header-anchor" href="#_7-idea" aria-hidden="true">#</a> 7.IDEA</h3><h4 id="idea-安装" tabindex="-1"><a class="header-anchor" href="#idea-安装" aria-hidden="true">#</a> IDEA 安装</h4><ul><li>IDEA <a href="https://www.aliyundrive.com/s/2BUzpEgQx3F" target="_blank" rel="noopener noreferrer">下载地址及个人配置<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1.</span> 解压后正常安装<span class="token constant">IDEA</span>
<span class="token number">2.</span> <span class="token class-name">Jetbrains</span> <span class="token number">2022</span> 破解 文件解压到不常用位置，激活成功后文件不要删除
<span class="token number">3.</span> 打开文件夹 打开scripts文件夹 
<span class="token number">4.</span> 双击执行当前用户install<span class="token operator">-</span>current<span class="token operator">-</span>user<span class="token punctuation">.</span>vbs脚本
<span class="token number">5.</span> 点击“<span class="token class-name">Ok</span>”确定，执行过程中，需要大概<span class="token number">10</span><span class="token operator">-</span><span class="token number">30</span>秒时间，这个根据个人安装的<span class="token class-name">Jetbrains</span>下<span class="token constant">IDE</span>的数量决定，会在参数文件中，添加激活工具的路径进去。看到提示“<span class="token class-name">Done</span>”时，表示激活完成。因为是修改环境变量，所以会被安全软件拦截，大家允许执行即可。
<span class="token number">6.</span> 重启软件 然后选择激活码按钮
<span class="token number">7.</span> 返回上级文件夹 有一个code文件夹 打开 然后打开对应软件的txt把激活码复制粘贴 点击激活
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="idea-配置方法" tabindex="-1"><a class="header-anchor" href="#idea-配置方法" aria-hidden="true">#</a> IDEA 配置方法:</h4><ul><li>https://www.zhuxianfei.com/java/46559.html</li><li>https://blog.csdn.net/wujiangbo520/article/details/126733271</li></ul><h5 id="文件说明" tabindex="-1"><a class="header-anchor" href="#文件说明" aria-hidden="true">#</a> 文件说明</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220523121107254.png" alt="image-20220523121107254"></p><h5 id="自动加载jar包依赖" tabindex="-1"><a class="header-anchor" href="#自动加载jar包依赖" aria-hidden="true">#</a> 自动加载jar包依赖</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220523121950429.png" alt="image-20220523121950429"></p><h5 id="新窗口打开项目" tabindex="-1"><a class="header-anchor" href="#新窗口打开项目" aria-hidden="true">#</a> 新窗口打开项目:</h5><p><img src="https://gitee.com/LuisApai/Apai_image_MD/raw/master/image-20220608191622725.png" alt="image-20220608191622725"></p><h5 id="隐藏项目多余的文件夹" tabindex="-1"><a class="header-anchor" href="#隐藏项目多余的文件夹" aria-hidden="true">#</a> 隐藏项目多余的文件夹</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221118102532178.png" alt="image-20221118102532178"></p><h5 id="idea-插件中心无法联网" tabindex="-1"><a class="header-anchor" href="#idea-插件中心无法联网" aria-hidden="true">#</a> IDEA 插件中心无法联网</h5><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token comment">// 代理配置URL:  http://127.0.0.1:1080</span>
<span class="token comment">// https://www.cnblogs.com/renlywen/p/13458928.html</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220616101213616.png" alt="image-20220616101213616"></p><h5 id="translation-翻译无法联网" tabindex="-1"><a class="header-anchor" href="#translation-翻译无法联网" aria-hidden="true">#</a> Translation 翻译无法联网</h5><blockquote><p>IDEA2022 翻译软件Translate提示：更新 TKK 失败，请检查网络连接</p></blockquote><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token comment">// 修改系统hosts文件，路径：C:\Windows\System32\drivers\etc 添加以下信息：</span>
<span class="token number">203.208</span><span class="token number">.40</span><span class="token number">.66</span> translate<span class="token punctuation">.</span>google<span class="token punctuation">.</span>com
<span class="token number">203.208</span><span class="token number">.40</span><span class="token number">.66</span> translate<span class="token punctuation">.</span>googleapis<span class="token punctuation">.</span>com
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>使用百度翻译</p><h5 id="idea-热部署" tabindex="-1"><a class="header-anchor" href="#idea-热部署" aria-hidden="true">#</a> IDEA 热部署</h5><p>在web项目执行中 使用Debug启动 表现出进行更改后无需重启 使用热部署即可进行更新</p><p>https://blog.csdn.net/m0_58761900/article/details/128802206</p><h4 id="idea-插件" tabindex="-1"><a class="header-anchor" href="#idea-插件" aria-hidden="true">#</a> IDEA 插件</h4><h5 id="_1-中文板-idea" tabindex="-1"><a class="header-anchor" href="#_1-中文板-idea" aria-hidden="true">#</a> 1.中文板 IDEA</h5><blockquote><p>Chinese Language Pack : 中文板 IDEA</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221007122013317.png" alt="image-20221007122013317"></p><h5 id="_2-翻译插件" tabindex="-1"><a class="header-anchor" href="#_2-翻译插件" aria-hidden="true">#</a> 2.翻译插件</h5><blockquote><p>Translation 翻译插件，鼠标选中文本，点击右键即可自动翻译成多国语言。</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221007122101872.png" alt="image-20221007122101872"></p><h5 id="_3-彩色括号显示" tabindex="-1"><a class="header-anchor" href="#_3-彩色括号显示" aria-hidden="true">#</a> 3.彩色括号显示</h5><blockquote><p>Rainbow Brackets 彩色括号</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221007122154501.png" alt="image-20221007122154501"></p><h5 id="_4-快捷键提示插件" tabindex="-1"><a class="header-anchor" href="#_4-快捷键提示插件" aria-hidden="true">#</a> 4.快捷键提示插件</h5><blockquote><p>Key Promoter X 快捷键提示插件。当你执行鼠标操作时，如果该操作可被快捷键代替，会给出提示，帮助你自然形成使用快捷键的习惯，告别死记硬背</p></blockquote><p><img src="https://gitee.com/LuisApai/Apai_image_MD/raw/master/image-20221007122220488.png" alt="image-20221007122220488"></p><h5 id="_5-设置背景图片" tabindex="-1"><a class="header-anchor" href="#_5-设置背景图片" aria-hidden="true">#</a> 5.设置背景图片</h5><blockquote><p>Background Image Plus + 给编辑器设置背景图片</p></blockquote><h5 id="_6-自动提示和补全代码" tabindex="-1"><a class="header-anchor" href="#_6-自动提示和补全代码" aria-hidden="true">#</a> 6.自动提示和补全代码</h5><blockquote><p>Tabnine AI Code Completion 使用 AI 去自动提示和补全代码，比 IDEA 自带的代码补全更加智能化</p></blockquote><h5 id="_7-mybatis-增强插件" tabindex="-1"><a class="header-anchor" href="#_7-mybatis-增强插件" aria-hidden="true">#</a> 7.MyBatis 增强插件</h5><blockquote><p>MybatisX MyBatis 增强插件，支持自动生成 entity、mapper、service 等常用操作的代码，优化体验</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221007122323462.png" alt="image-20221007122323462"></p><h5 id="_8-文件-yml-和-xml-互转" tabindex="-1"><a class="header-anchor" href="#_8-文件-yml-和-xml-互转" aria-hidden="true">#</a> 8.文件 yml 和 xml 互转</h5><blockquote><p>Convert YAML and Properties File 文件 yml 和 xml 互转</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221007122357517.png" alt="image-20221007122357517"></p><h5 id="_9-接口快速测试" tabindex="-1"><a class="header-anchor" href="#_9-接口快速测试" aria-hidden="true">#</a> 9.接口快速测试</h5><blockquote><p>RestfulTool : 能够自动检测表现层的接口进行快速测试 [ 发送请求参数 类似于浏览器发送请求]</p></blockquote><ul><li>根据url快速搜索接口: <strong>Ctrl + Alt + /</strong></li></ul><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221007121848329.png" alt="image-20221007121848329"></p><h5 id="_10-自定义代码生成器" tabindex="-1"><a class="header-anchor" href="#_10-自定义代码生成器" aria-hidden="true">#</a> 10.自定义代码生成器</h5><blockquote><p>Easy Code: 能够自定义的根据数据库表来自定义生成器</p><p>具体详见： <a href="https://luisapai.gitee.io/docs/Rests-docs/DmShengChen.html" target="_blank" rel="noopener noreferrer">参考地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221007121726208.png" alt="image-20221007121726208"></p><h5 id="_11-人工智能代码提示" tabindex="-1"><a class="header-anchor" href="#_11-人工智能代码提示" aria-hidden="true">#</a> 11.人工智能代码提示</h5><blockquote><p>GitHub Copilot: 人工智能代码提示 [需充值授权后使用]</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221007121827811.png" alt="image-20221007121827811"></p><h5 id="_12-sql语句提取" tabindex="-1"><a class="header-anchor" href="#_12-sql语句提取" aria-hidden="true">#</a> 12.Sql语句提取</h5><blockquote><p>batslog / MyBatis Log Free : 在配置了sql日志打印的前提下 该插件会自动提取sql日志进行编排然后显示</p></blockquote><ul><li>https://blog.csdn.net/pxg943055021/article/details/124708499</li></ul><p><img src="https://gitee.com/LuisApai/Apai_image_MD/raw/master/image-20221115150400331.png" alt="image-20221115150400331"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221117115834159.png" alt="image-20221117115834159"></p><h5 id="_13-git-版本管理" tabindex="-1"><a class="header-anchor" href="#_13-git-版本管理" aria-hidden="true">#</a> 13. git 版本管理</h5><blockquote><p>gitee | 能够从gitee平台直接拉取项目和推送</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221117153940533.png" alt="image-20221117153940533"></p><h5 id="_14-主题" tabindex="-1"><a class="header-anchor" href="#_14-主题" aria-hidden="true">#</a> 14.主题</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221118172320766.png" alt="image-20221118172320766"></p><h5 id="_15-缩略图" tabindex="-1"><a class="header-anchor" href="#_15-缩略图" aria-hidden="true">#</a> 15.缩略图</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221118174007256.png" alt="image-20221118174007256"></p><h3 id="_8-webstorm-前端" tabindex="-1"><a class="header-anchor" href="#_8-webstorm-前端" aria-hidden="true">#</a> 8.WebStorm 前端</h3><h4 id="webstorm-安装" tabindex="-1"><a class="header-anchor" href="#webstorm-安装" aria-hidden="true">#</a> WebStorm 安装</h4><ul><li>WebStorm <a href="https://www.aliyundrive.com/s/gxGfnDgwgLD" target="_blank" rel="noopener noreferrer">下载地址及个人配置<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>破解方法跟IDEA一致</li></ul><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1.</span> 解压后正常安装<span class="token constant">IDEA</span>
<span class="token number">2.</span> <span class="token class-name">Jetbrains</span> <span class="token number">2022</span> 破解 文件解压到不常用位置，激活成功后文件不要删除
<span class="token number">3.</span> 打开文件夹 打开scripts文件夹 
<span class="token number">4.</span> 双击执行当前用户install<span class="token operator">-</span>current<span class="token operator">-</span>user<span class="token punctuation">.</span>vbs脚本
<span class="token number">5.</span> 点击“<span class="token class-name">Ok</span>”确定，执行过程中，需要大概<span class="token number">10</span><span class="token operator">-</span><span class="token number">30</span>秒时间，这个根据个人安装的<span class="token class-name">Jetbrains</span>下<span class="token constant">IDE</span>的数量决定，会在参数文件中，添加激活工具的路径进去。看到提示“<span class="token class-name">Done</span>”时，表示激活完成。因为是修改环境变量，所以会被安全软件拦截，大家允许执行即可。
<span class="token number">6.</span> 重启软件 然后选择激活码按钮
<span class="token number">7.</span> 返回上级文件夹 有一个code文件夹 打开 然后打开对应软件的txt把激活码复制粘贴 点击激活
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20221118165429503.png" alt="image-20221118165429503"></p><h3 id="_9-maven-项目" tabindex="-1"><a class="header-anchor" href="#_9-maven-项目" aria-hidden="true">#</a> 9.Maven: 项目</h3><h4 id="下载-maven" tabindex="-1"><a class="header-anchor" href="#下载-maven" aria-hidden="true">#</a> 下载 maven</h4><ul><li>官网：http://maven.apache.org/</li><li>Maven 阿里云盘&gt;Apai分享&gt;Maven 3.6.3</li></ul><h4 id="安装前的注意点" tabindex="-1"><a class="header-anchor" href="#安装前的注意点" aria-hidden="true">#</a> 安装前的注意点：</h4><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>Maven 下载后，将 Maven 解压到一个没有中文没有空格的路径下，比如 D:\apache-maven-3.6.3 下面。解压后目录结构如下：
bin:存放了 maven 的命令，比如我们前面用到的 mvn tomcat:run
boot:存放了一些 maven 本身的引导程序，如类加载器等
conf:存放了 maven 的一些配置文件，如 setting.xml 文件
lib:存放了 maven 本身运行所需的一些 jar 包
至此，我们的 maven 软件就可以使用了，前提是你的电脑上之前已经安装并配置好了 JDK
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="安装步骤-1" tabindex="-1"><a class="header-anchor" href="#安装步骤-1" aria-hidden="true">#</a> 安装步骤</h4><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token comment">// -- 安装教程:</span>
apache<span class="token operator">-</span>maven<span class="token operator">-</span><span class="token number">3.6</span><span class="token number">.3</span><span class="token operator">-</span>bin<span class="token punctuation">.</span>zip <span class="token operator">-</span> 解压即用
注意<span class="token operator">:</span> 环境配置
<span class="token number">1.</span>为了正常使用<span class="token class-name">Maven</span>，需要先安装<span class="token class-name">Java</span>环境，这里以<span class="token constant">JDK8</span>相关版本为例，配置<span class="token constant">MAVEN_HOME</span>变量值就是maven的安装路径
<span class="token number">2.</span>配置bin目录到path环境变量：<span class="token operator">%</span><span class="token constant">MAVEN_HOME</span><span class="token operator">%</span>\bin
<span class="token number">3.</span>通过 mvn <span class="token operator">-</span>v 命令检查 maven 是否安装成功，

下载仓库配置<span class="token operator">:</span>

<span class="token number">1.</span>在maven 的安装目录下 <span class="token operator">/</span>conf<span class="token operator">/</span>settings<span class="token punctuation">.</span>xml文件中配置本地仓库位置
 <span class="token generics"><span class="token punctuation">&lt;</span>localRepository<span class="token punctuation">&gt;</span></span>d<span class="token operator">:</span><span class="token operator">/</span>repository<span class="token operator">&lt;</span><span class="token operator">/</span>localRepository<span class="token operator">&gt;</span>


<span class="token number">2.</span>Maven镜像的配置
由于<span class="token class-name">Maven</span> 仓库默认在国外<span class="token punctuation">,</span> 国内使用难免很慢<span class="token punctuation">,</span>我们可以更换为阿里云的仓库
<span class="token generics"><span class="token punctuation">&lt;</span>mirror<span class="token punctuation">&gt;</span></span>
    <span class="token generics"><span class="token punctuation">&lt;</span>id<span class="token punctuation">&gt;</span></span>nexus<span class="token operator">-</span>aliyun<span class="token operator">&lt;</span><span class="token operator">/</span>id<span class="token operator">&gt;</span>
    <span class="token generics"><span class="token punctuation">&lt;</span>mirrorOf<span class="token punctuation">&gt;</span></span>central<span class="token operator">&lt;</span><span class="token operator">/</span>mirrorOf<span class="token operator">&gt;</span>
    <span class="token generics"><span class="token punctuation">&lt;</span>name<span class="token punctuation">&gt;</span></span><span class="token class-name">Nexus</span> aliyun<span class="token operator">&lt;</span><span class="token operator">/</span>name<span class="token operator">&gt;</span>
  <span class="token generics"><span class="token punctuation">&lt;</span>url<span class="token punctuation">&gt;</span></span>http<span class="token operator">:</span><span class="token operator">/</span><span class="token operator">/</span>maven<span class="token punctuation">.</span>aliyun<span class="token punctuation">.</span>com<span class="token operator">/</span>nexus<span class="token operator">/</span>content<span class="token operator">/</span>groups<span class="token operator">/</span><span class="token keyword">public</span><span class="token operator">&lt;</span><span class="token operator">/</span>url<span class="token operator">&gt;</span>
<span class="token operator">&lt;</span><span class="token operator">/</span>mirror<span class="token operator">&gt;</span>

地址和下载镜像配置完成  
     <span class="token number">1.</span> 解压 mavendemo<span class="token punctuation">.</span>rar
     <span class="token number">2.</span> 在解压文件类 开启 cmd 
     <span class="token number">3.</span> 输入 mvn compile  开启下载
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220917160723869.png" alt="image-20220917160723869"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220917160742287.png" alt="image-20220917160742287"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20230520141010714.png" alt="image-20230520141010714"></p><h4 id="maven-的使用" tabindex="-1"><a class="header-anchor" href="#maven-的使用" aria-hidden="true">#</a> Maven 的使用</h4><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>常用命令
	注意:  需要在src - pom.xml文件夹下 调用 cmd
	开始编译
		mvn compile
			会在src 文件夹里 生成编译文件夹 - target 目录
	删除编译 target 目录
		mvn clean
	测试
		mvn test
	打包源程序
		mvn package
	安装本地仓库
		mvn instaall
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>IDEA
	构建命令.png
	maven - idea 设置.png
		插件.png
	IDEA 导入 maven 项目.png
	IDEA 创建 maven 项目.png
	maven项目-目录结构.png
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220917160908561.png" alt="image-20220917160908561"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220917160919092.png" alt="image-20220917160919092"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220917160930922.png" alt="image-20220917160930922"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220917160941172.png" alt="image-20220917160941172"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220917160954091.png" alt="image-20220917160954091"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220917161003784.png" alt="image-20220917161003784"></p><hr><h3 id="_10-tomcat-服务器" tabindex="-1"><a class="header-anchor" href="#_10-tomcat-服务器" aria-hidden="true">#</a> 10.Tomcat: 服务器</h3><h3 id="_11-postman-请求测试" tabindex="-1"><a class="header-anchor" href="#_11-postman-请求测试" aria-hidden="true">#</a> 11.Postman: 请求测试</h3><h4 id="postman-桌面端" tabindex="-1"><a class="header-anchor" href="#postman-桌面端" aria-hidden="true">#</a> Postman: 桌面端</h4><blockquote><p>Postman: 测试接口 模仿浏览器发送请求和数据</p></blockquote><ul><li><p>postman官网 <a href="https://www.postman.com/downloads/" target="_blank" rel="noopener noreferrer">下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li><li><p>postman汉化包 <a href="https://github.com/hlmd/Postman-cn/releases" target="_blank" rel="noopener noreferrer">下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li><li><p>github安装汉化 <a href="https://github.com/hlmd/Postman-cn" target="_blank" rel="noopener noreferrer">下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li><li><p>我的云盘 <a href="https://www.aliyundrive.com/s/Y98CKBZdSnq" target="_blank" rel="noopener noreferrer">下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p></li></ul><blockquote><p>版本下载:</p></blockquote><table><thead><tr><th>最新版本下载</th><th style="text-align:left;"><a href="https://www.postman.com/downloads/" target="_blank" rel="noopener noreferrer">官方下载页面<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>下载链接：<a href="https://dl.pstmn.io/download/latest/win64" target="_blank" rel="noopener noreferrer">Win64 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a><a href="https://dl.pstmn.io/download/latest/win32" target="_blank" rel="noopener noreferrer">Win32 <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a><a href="https://dl.pstmn.io/download/latest/osx" target="_blank" rel="noopener noreferrer">Mac <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a><a href="https://dl.pstmn.io/download/latest/linux" target="_blank" rel="noopener noreferrer">Linux<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></th></tr></thead><tbody><tr><td><strong>历史版本下载</strong></td><td style="text-align:left;">请把下面链接的“版本号”替换为指定的版本号，例如：8.8.0</td></tr><tr><td>Windows64位</td><td style="text-align:left;">https://dl.pstmn.io/download/version/版本号/win64</td></tr><tr><td>Windows32位</td><td style="text-align:left;">https://dl.pstmn.io/download/version/版本号/win32</td></tr><tr><td>Mac 英特尔芯片</td><td style="text-align:left;">https://dl.pstmn.io/download/version/版本号/osx_64</td></tr><tr><td>Mac 苹果芯片</td><td style="text-align:left;">https://dl.pstmn.io/download/version/版本号/osx_arm64</td></tr><tr><td>Linux</td><td style="text-align:left;">https://dl.pstmn.io/download/version/版本号/linux</td></tr></tbody></table><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>注意<span class="token operator">:</span> 禁止更新软件
汉化注意<span class="token operator">:</span> 两端的版本须一致
汉化步骤 解压app 之后放入<span class="token class-name">Postman</span>安装目录的 <span class="token class-name">C</span><span class="token operator">:</span>\<span class="token class-name">Users</span>\<span class="token class-name">Lujun</span>\<span class="token class-name">AppData</span>\<span class="token class-name">Local</span>\<span class="token class-name">Postman</span>\app<span class="token operator">-</span><span class="token number">9.12</span><span class="token number">.2</span>\resources 里 重启完成
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220531111628340.png" alt="image-20220531111628340"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220531105721596.png" alt="image-20220531105721596"></p><h4 id="使用方法" tabindex="-1"><a class="header-anchor" href="#使用方法" aria-hidden="true">#</a> 使用方法</h4><blockquote><h5 id="测试-文件上传" tabindex="-1"><a class="header-anchor" href="#测试-文件上传" aria-hidden="true">#</a> 测试 文件上传</h5></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220806144007434.png" alt="image-20220806144007434"></p><h4 id="postman-谷歌插件版" tabindex="-1"><a class="header-anchor" href="#postman-谷歌插件版" aria-hidden="true">#</a> Postman 谷歌插件版</h4><blockquote><p>可在谷歌浏览器 谷歌商店下载 Postman 谷歌插件版</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220531110801240.png" alt="image-20220531110801240"></p><hr><h2 id="html-常用工具" tabindex="-1"><a class="header-anchor" href="#html-常用工具" aria-hidden="true">#</a> HTML 常用工具</h2><h3 id="_1-node-js" tabindex="-1"><a class="header-anchor" href="#_1-node-js" aria-hidden="true">#</a> 1.Node JS</h3><h4 id="介绍" tabindex="-1"><a class="header-anchor" href="#介绍" aria-hidden="true">#</a> 介绍</h4><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>简单的说 <span class="token class-name">Node</span><span class="token punctuation">.</span>js 就是运行在服务端的 <span class="token class-name">JavaScript</span>。
<span class="token class-name">Node</span><span class="token punctuation">.</span>js 是一个基于 <span class="token class-name">Chrome</span> <span class="token class-name">JavaScript</span> 运行时建立的一个平台。
<span class="token class-name">Node</span><span class="token punctuation">.</span>js 是一个事件驱动 <span class="token class-name">I</span><span class="token operator">/</span><span class="token class-name">O</span> 服务端 <span class="token class-name">JavaScript</span> 环境，基于 <span class="token class-name">Google</span> 的 <span class="token constant">V8</span> 引擎，<span class="token constant">V8</span> 引擎执行 <span class="token class-name">Javascript</span> 的速度非常快，性能非常好。
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="新-安装方法" tabindex="-1"><a class="header-anchor" href="#新-安装方法" aria-hidden="true">#</a> 新 安装方法</h4><ul><li>Node JS 下载地址: 阿里云盘&gt;Apai分享&gt;Node JS</li><li>npm nodejs <a href="https://blog.csdn.net/jike11231/article/details/107834744" target="_blank" rel="noopener noreferrer">安装参考地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1.</span> 下载 <span class="token class-name">Node</span> <span class="token constant">JS</span> 安装包 <span class="token operator">|</span> 正常安装
<span class="token number">2.</span> node 自带npm，但是不是最新版本
<span class="token number">3.</span> 安装完成之后 node <span class="token operator">-</span>v <span class="token operator">|</span> npm <span class="token operator">-</span>v 查看版本即可
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="旧-安装方法" tabindex="-1"><a class="header-anchor" href="#旧-安装方法" aria-hidden="true">#</a> 旧 安装方法</h4><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>下载 二进制 <span class="token number">64</span> 为的安装压缩包 解压方到指定即可
注意<span class="token operator">:</span> 别解压至 <span class="token class-name">C</span>盘的敏感文件夹
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="配置环境" tabindex="-1"><a class="header-anchor" href="#配置环境" aria-hidden="true">#</a> 配置环境</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220606204244112.png" alt="image-20220606204244112"></p><h5 id="在-cmd-下载配置" tabindex="-1"><a class="header-anchor" href="#在-cmd-下载配置" aria-hidden="true">#</a> 在 cmd 下载配置</h5><blockquote><p>cmd --- 指令: npm i -g json-server</p><p>成功后 显示 ok 或者查看 安装路径的是否下载</p><p>cmd --- 指令: npm list -g --depth 0</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220606210532128.png" alt="image-20220606210532128"></p><h5 id="启动" tabindex="-1"><a class="header-anchor" href="#启动" aria-hidden="true">#</a> 启动</h5><p>创建一个目录server,在该目录下创建一个json文件，db.json文件</p><p>在server目录下执行 cmd 执行命令: json-server --watch db.json</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220606223447942.png" alt="image-20220606223447942"></p><h5 id="db-json-文件-进入-数据" tabindex="-1"><a class="header-anchor" href="#db-json-文件-进入-数据" aria-hidden="true">#</a> db.json 文件 进入 数据</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220606223543898.png" alt="image-20220606223543898"></p><div class="language-json line-numbers-mode" data-ext="json"><pre class="language-json"><code><span class="token punctuation">{</span>
    <span class="token property">&quot;users&quot;</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
        <span class="token punctuation">{</span>
            <span class="token property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;小阿派&quot;</span><span class="token punctuation">,</span>
            <span class="token property">&quot;age&quot;</span><span class="token operator">:</span> <span class="token number">25</span><span class="token punctuation">,</span>
            <span class="token property">&quot;sex&quot;</span><span class="token operator">:</span> <span class="token string">&quot;男&quot;</span>
        <span class="token punctuation">}</span><span class="token punctuation">,</span>
        <span class="token punctuation">{</span>
            <span class="token property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;战三&quot;</span><span class="token punctuation">,</span>
            <span class="token property">&quot;age&quot;</span><span class="token operator">:</span> <span class="token number">12</span><span class="token punctuation">,</span>
            <span class="token property">&quot;sex&quot;</span><span class="token operator">:</span> <span class="token string">&quot;男&quot;</span>
        <span class="token punctuation">}</span><span class="token punctuation">,</span>
        <span class="token punctuation">{</span>
            <span class="token property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;小雪&quot;</span><span class="token punctuation">,</span>
            <span class="token property">&quot;age&quot;</span><span class="token operator">:</span> <span class="token number">15</span><span class="token punctuation">,</span>
            <span class="token property">&quot;sex&quot;</span><span class="token operator">:</span> <span class="token string">&quot;女&quot;</span>
        <span class="token punctuation">}</span>
    <span class="token punctuation">]</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="浏览器进行-crud" tabindex="-1"><a class="header-anchor" href="#浏览器进行-crud" aria-hidden="true">#</a> 浏览器进行 CRUD</h5><p>查询: http://localhost:3000/users</p><h3 id="_2-npm" tabindex="-1"><a class="header-anchor" href="#_2-npm" aria-hidden="true">#</a> 2.Npm</h3><blockquote><p><strong>使用 cmd 安装</strong></p></blockquote><h4 id="npm-list-g-depth-0" tabindex="-1"><a class="header-anchor" href="#npm-list-g-depth-0" aria-hidden="true">#</a> npm list -g --depth 0</h4><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615113000062.png" alt="image-20220615113000062"></p><h4 id="npm-install-nrm-g" tabindex="-1"><a class="header-anchor" href="#npm-install-nrm-g" aria-hidden="true">#</a> npm install nrm -g</h4><blockquote><p><strong>或者 npm install Pana/nrm -g</strong></p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615112715312.png" alt="image-20220615112715312"></p><h4 id="nrm-ls" tabindex="-1"><a class="header-anchor" href="#nrm-ls" aria-hidden="true">#</a> nrm ls</h4><h4 id="nrm-use-taobao" tabindex="-1"><a class="header-anchor" href="#nrm-use-taobao" aria-hidden="true">#</a> nrm use taobao</h4><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615112925275.png" alt="image-20220615112925275"></p><h4 id="npm-config-list" tabindex="-1"><a class="header-anchor" href="#npm-config-list" aria-hidden="true">#</a> npm config list</h4><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615113350462.png" alt="image-20220615113350462"></p><h3 id="_3-vue-cli4-安装" tabindex="-1"><a class="header-anchor" href="#_3-vue-cli4-安装" aria-hidden="true">#</a> 3.Vue-cli4 安装</h3><blockquote><p>vue-cli 换过一次名字。在 3.0 之前叫 vue-cli ，从 3.0 开始更名位 @vue/cli 。现在是 4.x 版本。</p><p>建议使用 @vue/cli 而非 vue-cli ，毕竟 vue-cli 太久远了。</p></blockquote><ul class="contains-task-list"><li class="task-list-item"><input class="task-list-item-checkbox" checked="" disabled="" type="checkbox"> <strong>使用 cmd 安装</strong></li></ul><h4 id="删除已安装-vue-cli" tabindex="-1"><a class="header-anchor" href="#删除已安装-vue-cli" aria-hidden="true">#</a> 删除已安装 vue-cli</h4><blockquote><p>vue-cli 删除已安装 npm uninstall -g vue-cli</p></blockquote><h4 id="查看安装-项" tabindex="-1"><a class="header-anchor" href="#查看安装-项" aria-hidden="true">#</a> 查看安装 项</h4><blockquote><p>查看安装 npm list -g --depth 0</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615125616519.png" alt="image-20220615125616519"></p><h4 id="vue-cli-5-0-4-安装" tabindex="-1"><a class="header-anchor" href="#vue-cli-5-0-4-安装" aria-hidden="true">#</a> @vue/cli@5.0.4 安装</h4><blockquote><p>@vue/cli@5.0.4 安装: npm install -g @vue/cli@5.0.4</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615125459774.png" alt="image-20220615125459774"></p><h4 id="查看是否安装成功" tabindex="-1"><a class="header-anchor" href="#查看是否安装成功" aria-hidden="true">#</a> 查看是否安装成功</h4><blockquote><p>vue -V</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615142248305.png" alt="image-20220615142248305"></p><hr><h3 id="_4-创建vue-cli4项目" tabindex="-1"><a class="header-anchor" href="#_4-创建vue-cli4项目" aria-hidden="true">#</a> 4.创建vue-cli4项目</h3><blockquote><p>vue-cli4项目: 类似前端的服务器</p><p>如下配置</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615143024322.png" alt="image-20220615143024322"></p><h4 id="创建步骤" tabindex="-1"><a class="header-anchor" href="#创建步骤" aria-hidden="true">#</a> 创建步骤</h4><ul><li><p>第一步：创建项目</p><p>使用如下命令开始创建 vue 项目（这里示例项目名为 <em>vue-cli-demo</em> ）：</p><div class="language-ini line-numbers-mode" data-ext="ini"><pre class="language-ini"><code>vue create vue-cli-demo
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>你会看到如下内容：</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615194410053.png" alt="image-20220615194410053"></p><ul><li><p>第一项（ <code>default ...</code>）表示的是使用默认配置创建 vue 项目。</p></li><li><p>第二项（ <code>Manually ...</code>）表示手动对 vue 项目的各方面进行设置。<strong>我们选择第二项</strong> 。</p><p>可以使用『<strong>上下方向键</strong>』来切换选项。</p><!----></li></ul></li><li><p>第二步</p><p>在上一步选中第二项后，你会看到如下界面：</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615194459880.png" alt="image-20220615194459880"></p><p>在这个界面中，去需要去选择你的 vue 项目所要用到的特性。在特性列表中，<code>Babel</code> 和 <code>Linter / Formatter</code> 两项默认是选中的。</p><p>vue-cli 内置支持了 8 个功能特性，可以多选。使用『<strong>方向键</strong>』在特性选项之间切换，使用『<strong>空格键</strong>』选中当前特性，使用 <strong>a 键</strong> 切换选择所有，使用 <strong>i 键</strong> 翻转选项。</p><p>对于每一项的功能，此处做个简单描述：</p><div class="language-ini line-numbers-mode" data-ext="ini"><pre class="language-ini"><code>Babel：支持使用 babel 做转义。
TypeScript：支持使用 TypeScript 书写源码。
Progressive Web App (PWA) Support PWA：支持。
Router：支持 vue-router。
Vuex：支持 vuex。
CSS Pre-processors：支持 CSS 预处理器。
Linter / Formatter：支持代码风格检查和格式化。
Unit Testing：支持单元测试。
E2E Testing： 支持 E2E 测试。
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>对于我们（非前端开发工程师、Java 全栈开发工程师、Java 后端开发工程师）而言，<strong>Babel</strong> 和 <strong>Router</strong> 是必选的。<strong>Vuex</strong> 和 <strong>CSS Pre-processors</strong> 可能会用到</p><p>选择vue版本为2，不要选3，不要选3</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615194626845.png" alt="image-20220615194626845"></p></li><li><p>第三步</p><p>如果在功能选择界面中选中了 <strong>Router</strong>，那么我们接下来会看到如下界面（如果功能界面没有选择 Router，就会跳过这个界面）：</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615194701346.png" alt="image-20220615194701346"></p><p>在这个界面中，vue-cli 在询问你，对于 <strong>Router</strong> 你是否以它的 <strong>history</strong> 模式使用它？默认值是 <code>Yes</code> 。</p><p>如果不使用 Router 的 <strong>history</strong> 模式，那自然就是 <strong>hash</strong> 模式。这里我们输入 <code>n</code>，表示使用 Router 的 <strong>hash</strong> 模式。</p></li><li><p>第四步</p><p>在设置完你所要使用的各个功能的设置之后（例如，上面的 Router 的 history / hash 模式的设置）， 我们会看到下面界面：</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615194818540.png" alt="image-20220615194818540"></p><p>在这个界面中，vue-cli 是在询问你：是将所有的配置都放在 <strong>pacakge.json</strong> 一个文件中，还是将各个功能的配置分开存放在独立的文件中？</p><!----></li><li><p>第五步</p><p>这是 vue-cli 创建 vue 项目的最后一个界面：</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615194847324.png" alt="image-20220615194847324"></p><p>在这里，vue-cli 是在询问你：是否将你的这些设置保留下来作为默认的项目设置的模板。默认值是 <code>N</code> 。</p><p>我们输入 <code>N</code> ，或者直接按回车确认进入安装界面：</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615194956437.png" alt="image-20220615194956437"></p></li></ul><h4 id="启动项目" tabindex="-1"><a class="header-anchor" href="#启动项目" aria-hidden="true">#</a> 启动项目</h4><p><strong>关闭项目: ctrl + c</strong></p><h5 id="cmd启动" tabindex="-1"><a class="header-anchor" href="#cmd启动" aria-hidden="true">#</a> cmd启动:</h5><p>cmd --&gt; cd 项目文件夹 进入</p><p>在控制台中输入：npm run serve 注意: cmd保存运行 关闭则无法访问</p><p>浏览器访问 http://localhost:8080</p><h5 id="vs-code-启动" tabindex="-1"><a class="header-anchor" href="#vs-code-启动" aria-hidden="true">#</a> VS code 启动:</h5><blockquote><p>方式一: 手敲</p></blockquote><p>1.在 VS code 导入创建的文件夹 项目</p><p>2.创建终端</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615150447710.png" alt="image-20220615150447710"></p><p>3.调出控制台 输入 npm run serve</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615150604253.png" alt="image-20220615150604253"></p><blockquote><p>方式二: 调试</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615151702140.png" alt="image-20220615151702140"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615145008127.png" alt="image-20220615145008127"></p><hr><h3 id="_5-element-ui-前端框架" tabindex="-1"><a class="header-anchor" href="#_5-element-ui-前端框架" aria-hidden="true">#</a> 5.Element UI 前端框架</h3><blockquote><p>安装: vue add element</p><p>安装选项 注意: 需在项目的cmd开启安装</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615170516739.png" alt="image-20220615170516739"></p><h3 id="_6-axios-安装异步请求" tabindex="-1"><a class="header-anchor" href="#_6-axios-安装异步请求" aria-hidden="true">#</a> 6.Axios 安装异步请求</h3><blockquote><p>安装: vue add axios</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220615171520521.png" alt="image-20220615171520521"></p><h3 id="_7-vue-浏览器插件" tabindex="-1"><a class="header-anchor" href="#_7-vue-浏览器插件" aria-hidden="true">#</a> 7.VUE 浏览器插件</h3><blockquote><p>Vue.js devtools vue 浏览器插件: 可查看网页的data的值等功能</p></blockquote><p>安装方法: 谷歌商店直接下载安装 或者 自行下载往浏览器扩展安装 安装记得打开允许网页访问 重启浏览器</p><h2 id="linux-系统" tabindex="-1"><a class="header-anchor" href="#linux-系统" aria-hidden="true">#</a> Linux 系统</h2><h3 id="_1-linux虚拟机" tabindex="-1"><a class="header-anchor" href="#_1-linux虚拟机" aria-hidden="true">#</a> 1.Linux虚拟机</h3><h4 id="vmware-workstation-pro" tabindex="-1"><a class="header-anchor" href="#vmware-workstation-pro" aria-hidden="true">#</a> VMware Workstation Pro</h4><blockquote><p>傻瓜式安装</p></blockquote><p>**创建: **</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220621101900625.png" alt="image-20220621101900625"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220621101916102.png" alt="image-20220621101916102"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220621101935396.png" alt="image-20220621101935396"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220621102008124.png" alt="image-20220621102008124"></p><p><img src="https://apaiimages.oss-cn-guangzhou.aliyuncs.com/MD/PGZV7JG5MX$0D7XE0]GOWIU.jpg" alt="img"></p><p><img src="https://gitee.com/LuisApai/Apai_image_MD/raw/master/image-20220718200051937.png" alt="image-20220718200051937"></p><p><img src="https://apaiimages.oss-cn-guangzhou.aliyuncs.com/MD/Z0LD80{PG{H$XP7YXG3Q][E.jpg" alt="img"></p><p><img src="https://gitee.com/LuisApai/Apai_image_MD/raw/master/2[SVFLG}VO49}SRC@I_4[A1.jpg" alt="img"></p><p><img src="https://apaiimages.oss-cn-guangzhou.aliyuncs.com/MD/image-20220718200122676.png" alt="image-20220718200122676"></p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220718200146012.png" alt="image-20220718200146012"></p><h3 id="_2-xshell-7" tabindex="-1"><a class="header-anchor" href="#_2-xshell-7" aria-hidden="true">#</a> 2.Xshell 7</h3><ul><li>连接Linux系统的可视化工具 | 傻瓜式安装</li></ul><h3 id="_3-xftp-7" tabindex="-1"><a class="header-anchor" href="#_3-xftp-7" aria-hidden="true">#</a> 3.Xftp 7</h3><ul><li>连接Linux系统的可视化文件传输工具 | 傻瓜式安装</li></ul><h3 id="_4-docker-应用部署" tabindex="-1"><a class="header-anchor" href="#_4-docker-应用部署" aria-hidden="true">#</a> 4.Docker 应用部署</h3><h4 id="_1-mysql-部署" tabindex="-1"><a class="header-anchor" href="#_1-mysql-部署" aria-hidden="true">#</a> 1.mysql 部署</h4><p>1、搜索mysql镜像</p><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code><span class="token namespace">[root@localhost ~]</span><span class="token comment">#docker search mysql</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>2、拉取mysql镜像</p><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code><span class="token namespace">[root@localhost ~]</span><span class="token comment">#docker pull mysql:5.6</span>

<span class="token namespace">[root@localhost ~]</span><span class="token comment">#docker pull mysql:8.0.25</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>3、创建目录 在/root目录下创建mysql目录用于存储mysql数据信息</p><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code><span class="token namespace">[root@localhost ~]</span><span class="token comment">#mkdir mysql</span>
<span class="token namespace">[root@localhost ~]</span><span class="token comment">#cd mysql</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>4、创建容器，设置端口映射和目录映射</p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>此段为一句话 注意最后面为 版本号 未镜像则会先下载镜像
<span class="token operator">-</span>p <span class="token number">3307</span><span class="token operator">:</span><span class="token number">3306</span> <span class="token operator">--</span><span class="token operator">&gt;</span> <span class="token number">3307</span> 被 容器的数据库<span class="token number">3306</span>端口映射 外部可通过宿主机<span class="token number">3307</span>端口访问
<span class="token operator">-</span>e <span class="token constant">MYSQL_ROOT_PASSWORD</span><span class="token operator">=</span>root  <span class="token operator">--</span><span class="token operator">&gt;</span>  在创建容器进行写入配置
注意<span class="token operator">:</span> mysql <span class="token number">8.0</span><span class="token number">.25</span> 连接外部需开启远程访问 对照下方解决方法
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code>docker run <span class="token operator">-</span>id <span class="token operator">-</span>p 3307:3306 <span class="token operator">--</span>name=c_mysql <span class="token operator">--</span>restart=always <span class="token operator">-</span>v <span class="token operator">/</span>root/mysql/conf:<span class="token operator">/</span>etc/mysql/conf<span class="token punctuation">.</span>d <span class="token operator">-</span>v <span class="token operator">/</span>root/mysql/logs:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log/mysql <span class="token operator">-</span>v <span class="token operator">/</span>root/mysql/<span class="token keyword">data</span>:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span><span class="token operator">/</span>lib/mysql <span class="token operator">-</span>e MYSQL_ROOT_PASSWORD=root mysql:8<span class="token punctuation">.</span>0<span class="token punctuation">.</span>25

docker run <span class="token operator">-</span>id <span class="token operator">-</span>p 3307:3306 <span class="token operator">--</span>name=Apai_mysql <span class="token operator">--</span>restart=always <span class="token operator">-</span>v <span class="token operator">/</span>Apai_File/mysql/conf:<span class="token operator">/</span>etc/mysql/conf<span class="token punctuation">.</span>d <span class="token operator">-</span>v <span class="token operator">/</span>Apai_File/mysql/logs:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log/mysql <span class="token operator">-</span>v <span class="token operator">/</span>Apai_File/mysql/<span class="token keyword">data</span>:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib/mysql <span class="token operator">-</span>e MYSQL_ROOT_PASSWORD=root mysql:8<span class="token punctuation">.</span>0<span class="token punctuation">.</span>25

docker run <span class="token operator">-</span>id <span class="token operator">-</span>p 3307:3306 <span class="token operator">--</span>name=Apai_mysql <span class="token operator">--</span>restart=always <span class="token operator">-</span>e MYSQL_ROOT_PASSWORD=root mysql:8<span class="token punctuation">.</span>0<span class="token punctuation">.</span>25
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1</span>、 <span class="token operator">-</span>p <span class="token number">3307</span><span class="token operator">:</span><span class="token number">3306</span>  将容器的 <span class="token number">3306</span> 端口映射到宿主机的 <span class="token number">3307</span>端口
<span class="token number">2</span>、<span class="token operator">-</span>v <span class="token operator">/</span>root<span class="token operator">/</span>mysql<span class="token operator">/</span>conf<span class="token operator">:</span><span class="token operator">/</span>etc<span class="token operator">/</span>mysql<span class="token operator">/</span>conf<span class="token punctuation">.</span>d 将宿主机当前mysql目录里面的 conf目录挂载到容器的 <span class="token operator">/</span>etc<span class="token operator">/</span>mysql<span class="token operator">/</span>conf<span class="token punctuation">.</span>d目录下，在mysql5的版本中，mysql容器启动默认加载 <span class="token operator">/</span>etc<span class="token operator">/</span>mysql<span class="token operator">/</span>mysql<span class="token punctuation">.</span>cnf配置文件，这个文件没有什么内容，只是文件的末尾有<span class="token number">2</span>句
<span class="token operator">!</span>includedir <span class="token operator">/</span>etc<span class="token operator">/</span>mysql<span class="token operator">/</span>conf<span class="token punctuation">.</span>d<span class="token operator">/</span>和<span class="token operator">!</span>includedir <span class="token operator">/</span>etc<span class="token operator">/</span>mysql<span class="token operator">/</span>mysql<span class="token punctuation">.</span>conf<span class="token punctuation">.</span>d<span class="token operator">/</span>，表示这两个目录里面的文件都可以作为参数文件，mysql会读取这两个目录里面的<span class="token punctuation">.</span>cnf结尾的文件，而<span class="token operator">/</span>etc<span class="token operator">/</span>mysql<span class="token operator">/</span>conf<span class="token punctuation">.</span>d<span class="token operator">/</span>目录里面虽然有以<span class="token punctuation">.</span>cnf 末尾结尾的文件，但是都没内容，所以我们把这个目录conf<span class="token punctuation">.</span>d和宿主机的<span class="token operator">/</span>root<span class="token operator">/</span>mysql<span class="token operator">/</span>conf做一个映射，那么在宿主机的该目录下放一些<span class="token operator">*</span><span class="token punctuation">.</span>cnf文件会同步到<span class="token operator">/</span>etc<span class="token operator">/</span>mysql<span class="token operator">/</span>conf<span class="token punctuation">.</span>d就可以作为mysql的参数文件了，一旦做了映射，那么etc<span class="token operator">/</span>mysql<span class="token operator">/</span>conf<span class="token punctuation">.</span>d目录就为空了。另外 <span class="token operator">/</span>etc<span class="token operator">/</span>mysql<span class="token operator">/</span>mysql<span class="token punctuation">.</span>conf<span class="token punctuation">.</span>d<span class="token operator">/</span>目录的下有mysql的参数文件 mysqld<span class="token punctuation">.</span>cnf，这个文件配置了mysql启动时的进程id，datadir数据目录等

<span class="token number">3</span>、容器的mysql启动后，日志文件保存在<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log<span class="token operator">/</span>mysql目录里 
<span class="token number">4</span>、容器的mysql启动后，数据库文件保存在<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib<span class="token operator">/</span>mysql目录里 会同步到宿主机目录
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>当然我们也可以不用挂载</p><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code><span class="token namespace">[root@localhost ~]</span><span class="token comment">#docker run -id -p 3307:3306 --name=c_mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.6</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p><strong>navicat连接; ip地址 端口为 3307</strong></p><p><strong>安装mysql8版本</strong></p><p>如果是8.0.25的数据库，navicat连接报错1251-Client does not support</p><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code><span class="token operator">/</span><span class="token operator">/</span> 创建容器 未挂载
<span class="token namespace">[root@localhost ~]</span><span class="token comment">#docker run -id -p 1001:3306  --name=c_mysql --restart=always -e MYSQL_ROOT_PASSWORD=root mysql:8.0.25</span>
<span class="token operator">/</span><span class="token operator">/</span> 进入容器
<span class="token namespace">[root@localhost ~]</span><span class="token comment">#docker exec -it Apai_mysql /bin/bash</span>
<span class="token operator">/</span><span class="token operator">/</span> 在容器内 登录数据库
root@053f48be0dc7:~<span class="token comment">## mysql -uroot -proot</span>
<span class="token operator">/</span><span class="token operator">/</span> 设置远程客户端（如navicat）连接的密码，不是mysql服务器的登录密码
mysql&gt; ALTER USER <span class="token string">&#39;root&#39;</span>@<span class="token string">&#39;%&#39;</span> IDENTIFIED WITH mysql_native_password BY <span class="token string">&#39;lj102528@&#39;</span><span class="token punctuation">;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>使用外部机器连接容器中的mysql</p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>记一次mysql启动报错。查看日志报错为：
<span class="token class-name">Can</span>&#39;t <span class="token keyword">open</span> <span class="token namespace">and</span> lock privilege tables<span class="token operator">:</span> <span class="token class-name">Table</span> storage engine <span class="token keyword">for</span> <span class="token char">&#39;user&#39;</span>
方案：将datadir路径下的文件清空，然后执行如下命令：
mysqld <span class="token operator">--</span>initialize <span class="token operator">--</span>user<span class="token operator">=</span>mysql <span class="token operator">--</span>basedir<span class="token operator">=</span><span class="token operator">/</span>usr <span class="token operator">--</span>datadir<span class="token operator">=</span><span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib<span class="token operator">/</span>mysql
然后重启：service mysql start 
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-tomcat-部署" tabindex="-1"><a class="header-anchor" href="#_2-tomcat-部署" aria-hidden="true">#</a> 2.Tomcat 部署</h4><p>1、搜索tomcat镜像</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#docker search tomcat</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>2、拉取tomcat镜像</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#docker pull tomcat:8</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>3、创建容器，设置端口映射、目录映射</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token comment">## 在/root目录下创建tomcat目录用于存储tomcat数据信息</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">## mkdir tomcat</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">## cd tomcat</span>
<span class="token punctuation">[</span>root@localhost tomcat<span class="token punctuation">]</span><span class="token comment">#docker run -id --name=c_tomcat -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps tomcat:8</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>参数说明：
<span class="token operator">-</span>p <span class="token number">8080</span><span class="token operator">:</span><span class="token number">8080</span>：将容器的<span class="token number">8080</span>端口映射到主机的<span class="token number">8080</span>端口  
    （第一个<span class="token number">8080</span>是宿主机端口用来和tomcat做映射的，第二个<span class="token number">8080</span>是容器启动tomcat端口<span class="token number">8080</span>，第二个端口是tomcat容器默认启动的端口）
<span class="token operator">-</span>v $<span class="token constant">PWD</span><span class="token operator">:</span><span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>webapps：将主机中当前目录挂载到容器的webapps 
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>4、使用外部机器访问tomcat</p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token comment">// 在宿主机目录/root/tomcat下创建test目录。并在test目录下创建index.html。那么test目录会同步到c_tomcat容器的 /usr/local/tomcat/webapps里面</span>
<span class="token punctuation">[</span>root<span class="token annotation punctuation">@localhost</span> tomcat<span class="token punctuation">]</span>## mkdir test
<span class="token punctuation">[</span>root<span class="token annotation punctuation">@localhost</span> tomcat<span class="token punctuation">]</span>## cd test<span class="token operator">/</span>
<span class="token punctuation">[</span>root<span class="token annotation punctuation">@localhost</span> test<span class="token punctuation">]</span>## vim index<span class="token punctuation">.</span>html #在index<span class="token punctuation">.</span>html里面编写 <span class="token generics"><span class="token punctuation">&lt;</span>h1<span class="token punctuation">&gt;</span></span>hello tomcat<span class="token operator">&lt;</span><span class="token operator">/</span>h1<span class="token operator">&gt;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>浏览器测试访问：</p><p>http://192.168.128.130:8080/test/index.html</p><h4 id="_3-nginx-部署" tabindex="-1"><a class="header-anchor" href="#_3-nginx-部署" aria-hidden="true">#</a> 3.Nginx 部署</h4><p>1、搜索nginx镜像</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#docker search nginx</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>2、拉取nginx镜像</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#docker pull nginx</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>3、创建目录</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#mkdir nginx</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#cd nginx</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#mkdir conf</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#cd conf</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#vim nginx.conf</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>4、编写nginx.conf配置文件</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>user  nginx<span class="token punctuation">;</span>
worker_processes  <span class="token number">1</span><span class="token punctuation">;</span>
error_log  /var/log/nginx/error.log warn<span class="token punctuation">;</span>
pid        /var/run/nginx.pid<span class="token punctuation">;</span>
events <span class="token punctuation">{</span>
    worker_connections  <span class="token number">1024</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
http <span class="token punctuation">{</span>
    include       /etc/nginx/mime.types<span class="token punctuation">;</span>
    default_type  application/octet-stream<span class="token punctuation">;</span>

    log_format  main  <span class="token string">&#39;$remote_addr - $remote_user [$time_local] &quot;$request&quot; &#39;</span>
                      <span class="token string">&#39;$status $body_bytes_sent &quot;$http_referer&quot; &#39;</span>
                      <span class="token string">&#39;&quot;$http_user_agent&quot; &quot;$http_x_forwarded_for&quot;&#39;</span><span class="token punctuation">;</span>

    access_log  /var/log/nginx/access.log  main<span class="token punctuation">;</span>

    sendfile        on<span class="token punctuation">;</span> 
    keepalive_timeout  <span class="token number">65</span><span class="token punctuation">;</span>
    include /etc/nginx/conf.d/*.conf<span class="token punctuation">;</span>  
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code>说明：
第四步其实可以省略，默认创建一个nginx容器，会在<span class="token operator">/</span>etc<span class="token operator">/</span>nginx<span class="token operator">/</span>目录下生成一个叫nginx<span class="token punctuation">.</span>conf的配置文件，nginx容器启动会去加载该文件，该文件的内容和第四步配置文件的内容相同。这个文件的末尾有include <span class="token operator">/</span>etc<span class="token operator">/</span>nginx<span class="token operator">/</span>conf<span class="token punctuation">.</span>d<span class="token comment">/*.conf;
这句话，也就说在conf.d目录下并且以conf结尾的文件都会被加载，而这个目录下只有一个配置文件就是default.conf，default.conf文件的内容配置了一个server节点，以及默认访问nginx的目录和首页（/html/index.html）
</span></code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>5、创建nginx容器、端口映射、目录挂载</p><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code><span class="token namespace">[root@localhost ~]</span><span class="token comment">#docker run -id --name=c_nginx \</span>
<span class="token operator">-</span>p 80:80 \
<span class="token operator">-</span>v <span class="token operator">/</span>root/nginx/conf/nginx<span class="token punctuation">.</span>conf:<span class="token operator">/</span>etc/nginx/nginx<span class="token punctuation">.</span>conf \  <span class="token comment">#不挂载这个配置文件也是可以的</span>
<span class="token operator">-</span>v <span class="token operator">/</span>root/nginx/logs:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log/nginx \                    <span class="token comment">#nginx容器默认的日志文件保存到/var/log/nginx目录下</span>
<span class="token operator">-</span>v <span class="token operator">/</span>root/nginx/html:<span class="token operator">/</span>usr/share/nginx/html \             <span class="token comment">#nginx默认会去访问/usr/share/nginx/html下的index.html</span>
nginx

<span class="token operator">/</span><span class="token operator">/</span> nginx的配置文件也可以进行 挂载 否则使用vim在容器进行修改
<span class="token operator">-</span>v <span class="token operator">/</span>root/nginx/conf<span class="token punctuation">.</span>d:<span class="token operator">/</span>etc/nginx/conf<span class="token punctuation">.</span>d

docker run <span class="token operator">-</span>id <span class="token operator">--</span>name=c_nginx <span class="token operator">-</span>p 80:80 <span class="token operator">-</span>v <span class="token operator">/</span>root/nginx/conf/nginx<span class="token punctuation">.</span>conf:<span class="token operator">/</span>etc/nginx/nginx<span class="token punctuation">.</span>conf <span class="token operator">-</span>v <span class="token operator">/</span>root/nginx/logs:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log/nginx <span class="token operator">-</span>v <span class="token operator">/</span>root/nginx/html:<span class="token operator">/</span>usr/share/nginx/html nginx

docker run <span class="token operator">-</span>id <span class="token operator">--</span>name=c_nginx <span class="token operator">-</span>p 81:80 <span class="token operator">-</span>p 8004:8004 nginx
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>如果你不想挂载，所有的都可以不挂载，如果所有的都不挂载，默认情况，当创建nginx容器时，在/etc/nginx/目录下有nginx.conf这个文件，这个文件是nginx的配置文件，nginx容器启动的时候会去读这个配置文件</p></blockquote><p>6、在宿主机的/root/nginx/html目录下新建 index.html，让其同步到/usr/share/nginx/html目录下</p><p>测试访问：http://192.168.128.130/</p><h4 id="_4-redis-部署" tabindex="-1"><a class="header-anchor" href="#_4-redis-部署" aria-hidden="true">#</a> 4.Redis 部署</h4><p>1、搜索redis镜像</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#docker search redis</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>2、拉取redis镜像</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#docker pull redis:5.0</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>3、创建容器，设置端口映射</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#docker run -id --name=Apai_redis -p 6379:6379 --restart=always --restart=always redis:5.0</span>

<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#docker run -id --name=c_redis2 -p 6380:6380 -v /root/redis/conf/redis.conf:/usr/local/bin/myredis.conf redis:5.0 /bin/bash -c &quot;redis-server /usr/local/bin/myredis.conf&quot;</span>
<span class="token comment">##把宿主机的redis.conf的port 改成port 6380</span>

<span class="token function">docker</span> run <span class="token parameter variable">-id</span> <span class="token parameter variable">--name</span><span class="token operator">=</span>Apai_redis <span class="token parameter variable">-p</span> <span class="token number">6379</span>:6379 <span class="token parameter variable">--restart</span><span class="token operator">=</span>always <span class="token parameter variable">-v</span> /Apai_File/redis/conf/redis.conf:/usr/local/bin/myredis.conf redis:5.0 /bin/bash <span class="token parameter variable">-c</span> <span class="token string">&quot;redis-server /usr/local/bin/myredis.conf&quot;</span>
<span class="token comment">##把宿主机的redis.conf的port 改成port 6380</span>
<span class="token function">docker</span> run <span class="token parameter variable">-id</span> <span class="token parameter variable">--name</span><span class="token operator">=</span>Apai_redis <span class="token parameter variable">-p</span> <span class="token number">6380</span>:6379 <span class="token parameter variable">--restart</span><span class="token operator">=</span>always redis:5.0 /bin/bash <span class="token parameter variable">-c</span> <span class="token string">&quot;redis-server /usr/local/bin/myredis.conf&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>4、使用外部机器连接redis</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#./redis-cli.exe -h 192.168.149.135 -p 6379</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h4 id="_5-rabbitmq-消息队列" tabindex="-1"><a class="header-anchor" href="#_5-rabbitmq-消息队列" aria-hidden="true">#</a> 5.RabbitMq 消息队列</h4><p><strong>注意:</strong></p><p>在java配置连接 消息队列 设置虚拟主机为:</p><p>1.拉去rabbitMq镜像</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">docker</span> pull rabbitmq:management
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>2.创建rabbitmq相关挂载目录</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">mkdir</span> <span class="token parameter variable">-p</span> /root/local/rabbitmq/<span class="token punctuation">{</span>data,conf,log<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>3.创建完成之后要对所创建文件授权权限，都设置成777 否则在启动容器的时候容易失败</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">chmod</span> <span class="token parameter variable">-R</span> <span class="token number">777</span> /root/local/rabbitmq
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>4.镜像创建和启动容器</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">docker</span> run <span class="token parameter variable">--privileged</span><span class="token operator">=</span>true <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">5672</span>:5672 <span class="token parameter variable">-p</span> <span class="token number">15672</span>:15672 <span class="token parameter variable">--name</span> rabbitmq <span class="token parameter variable">-v</span> /root/local/rabbitmq/data:/var/lib/rabbitmq <span class="token parameter variable">-v</span> /root/local/rabbitmq/conf:/etc/rabbitmq <span class="token parameter variable">-v</span> /root/local/rabbitmq/log:/var/log/rabbitmq <span class="token parameter variable">--restart</span><span class="token operator">=</span>always <span class="token parameter variable">--hostname</span><span class="token operator">=</span>rabbitmqhost <span class="token parameter variable">-e</span> <span class="token assign-left variable">RABBITMQ_DEFAULT_VHOST</span><span class="token operator">=</span>my_vhost <span class="token parameter variable">-e</span> <span class="token assign-left variable">RABBITMQ_DEFAULT_USER</span><span class="token operator">=</span>admin <span class="token parameter variable">-e</span> <span class="token assign-left variable">RABBITMQ_DEFAULT_PASS</span><span class="token operator">=</span>admin rabbitmq
    
<span class="token comment">## 解析    </span>
端口映射 <span class="token parameter variable">-p</span> <span class="token number">5672</span>:5672 <span class="token parameter variable">-p</span> <span class="token number">15672</span>:15672
容器名称 <span class="token parameter variable">--name</span> rabbitmq 
设置用户密码及镜像名 <span class="token parameter variable">-e</span> <span class="token assign-left variable">RABBITMQ_DEFAULT_USER</span><span class="token operator">=</span>admin <span class="token parameter variable">-e</span> <span class="token assign-left variable">RABBITMQ_DEFAULT_PASS</span><span class="token operator">=</span>admin rabbitmq
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>5.进入容器</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">docker</span> <span class="token builtin class-name">exec</span> <span class="token parameter variable">-it</span> rabbitmq <span class="token function">bash</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>6.开启web管理端</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>rabbitmq-plugins <span class="token builtin class-name">enable</span> rabbitmq_management
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>附加:</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token number">1</span>.首先进入容器 <span class="token function">docker</span> <span class="token builtin class-name">exec</span> <span class="token parameter variable">-it</span> rabbitmq /bin/bash
<span class="token number">2</span>.创建用户 rabbitmqctl add_user admin1 admin1
<span class="token number">3</span>.给用户授权角色 rabbitmqctl set_user_tags admin1 administrator
<span class="token number">4</span>.给用户添加权限 rabbitmqctl set_permissions <span class="token parameter variable">-p</span> / admin1 <span class="token string">&quot;.*&quot;</span> <span class="token string">&quot;.*&quot;</span> <span class="token string">&quot;.*&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>页面访问: http://192.168.174.133:15672</p><h4 id="_6-nacos-注册中心" tabindex="-1"><a class="header-anchor" href="#_6-nacos-注册中心" aria-hidden="true">#</a> 6.Nacos 注册中心</h4><p>https://blog.csdn.net/u013305864/article/details/125611099</p><p>编写docker-compose.yml文件 启动该文件 命令： docker-compose up</p><div class="language-yaml line-numbers-mode" data-ext="yml"><pre class="language-yaml"><code><span class="token key atrule">nacos</span><span class="token punctuation">:</span>
  <span class="token key atrule">image</span><span class="token punctuation">:</span> nacos/nacos<span class="token punctuation">-</span>server<span class="token punctuation">:</span>latest
  <span class="token key atrule">container_name</span><span class="token punctuation">:</span> nacos<span class="token punctuation">-</span><span class="token number">8848</span>
  <span class="token key atrule">environment</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> PREFER_HOST_MODE=hostname
    <span class="token punctuation">-</span> MODE=standalone   <span class="token comment">#单机模式启动</span>
  <span class="token key atrule">volumes</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> ./8848/logs/<span class="token punctuation">:</span>/home/nacos/logs   <span class="token comment">#前面是宿主机名  后面是容器目录名</span>
    <span class="token punctuation">-</span> ./8848/init.d/custom.properties<span class="token punctuation">:</span>/home/nacos/init.d/custom.properties
  <span class="token key atrule">ports</span><span class="token punctuation">:</span>
  <span class="token punctuation">-</span> <span class="token string">&quot;8848:8848&quot;</span>

</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>nacos 的默认服务端口是 <strong>8848</strong> ，启动完成之后通过浏览器访问 nacos：http://127.0.0.1:8848/nacos 。</p><p><strong>第一种</strong>（不推荐，因为不能连接数据库，进行持久化）</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token comment">#搜索可以使用的镜像</span>
<span class="token function">docker</span> search nacos
<span class="token comment">#拉取镜像</span>
<span class="token function">docker</span> pull nacos/nacos-server

<span class="token comment">## 运行nacos  挂载  --restart=always -&gt; 表示docker容器开机自启</span>
<span class="token function">docker</span>  run <span class="token parameter variable">--name</span> nacos <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">8848</span>:8848 <span class="token parameter variable">--privileged</span><span class="token operator">=</span>true <span class="token parameter variable">--restart</span><span class="token operator">=</span>always <span class="token parameter variable">-e</span> <span class="token assign-left variable">JVM_XMS</span><span class="token operator">=</span>256m <span class="token parameter variable">-e</span> <span class="token assign-left variable">JVM_XMX</span><span class="token operator">=</span>256m <span class="token parameter variable">-e</span> <span class="token assign-left variable">MODE</span><span class="token operator">=</span>standalone <span class="token parameter variable">-e</span> <span class="token assign-left variable">PREFER_HOST_MODE</span><span class="token operator">=</span>hostname <span class="token parameter variable">-v</span> /data/nacos/logs:/home/nacos/logs <span class="token parameter variable">-v</span> /data/nacos/conf:/home/nacos/conf nacos/nacos-server
<span class="token comment">## 不挂载 --restart=always -&gt; 表示docker容器开机自启</span>
<span class="token function">docker</span> run <span class="token parameter variable">--name</span> Apai_nacos <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">8848</span>:8848 <span class="token parameter variable">--privileged</span><span class="token operator">=</span>true <span class="token parameter variable">--restart</span><span class="token operator">=</span>always <span class="token parameter variable">-e</span> <span class="token assign-left variable">JVM_XMS</span><span class="token operator">=</span>256m <span class="token parameter variable">-e</span> <span class="token assign-left variable">JVM_XMX</span><span class="token operator">=</span>256m <span class="token parameter variable">-e</span> <span class="token assign-left variable">MODE</span><span class="token operator">=</span>standalone <span class="token parameter variable">-e</span> <span class="token assign-left variable">PREFER_HOST_MODE</span><span class="token operator">=</span>hostname nacos/nacos-server

<span class="token comment">#--restart=always 开机启动</span>

<span class="token comment">#检查是否启动</span>
<span class="token function">docker</span> <span class="token function">ps</span>
<span class="token comment">#访问地址 默认账号密码是nacos/nacos</span>
http://ip:8848/nacos
http://175.178.126.61:8848/nacos
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>第二种（强烈推荐用这种方式，因为可以持久化数据到数据库中，就算nacos容器出现了问题，数据也不受影响） 创建数据库脚本 https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token comment">#推荐使用这种方式，可以连接自己的数据库</span>
<span class="token function">docker</span> run <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">8848</span>:8848 <span class="token parameter variable">-p</span> <span class="token number">9848</span>:9848 <span class="token punctuation">\</span>
<span class="token parameter variable">--name</span> nacos <span class="token punctuation">\</span>
<span class="token parameter variable">--env</span> <span class="token assign-left variable">MODE</span><span class="token operator">=</span>standalone <span class="token punctuation">\</span>
<span class="token parameter variable">--env</span> <span class="token assign-left variable">SPRING_DATASOURCE_PLATFORM</span><span class="token operator">=</span>mysql <span class="token punctuation">\</span>
<span class="token parameter variable">--env</span> <span class="token assign-left variable">MYSQL_SERVICE_HOST</span><span class="token operator">=</span><span class="token number">192.168</span>.0.12 <span class="token punctuation">\</span>
<span class="token parameter variable">--env</span> <span class="token assign-left variable">MYSQL_SERVICE_PORT</span><span class="token operator">=</span><span class="token number">3306</span> <span class="token punctuation">\</span>
<span class="token parameter variable">--env</span> <span class="token assign-left variable">MYSQL_SERVICE_DB_NAME</span><span class="token operator">=</span>nacos <span class="token punctuation">\</span>
<span class="token parameter variable">--env</span> <span class="token assign-left variable">MYSQL_SERVICE_USER</span><span class="token operator">=</span>root <span class="token punctuation">\</span>
<span class="token parameter variable">--env</span> <span class="token assign-left variable">MYSQL_SERVICE_PASSWORD</span><span class="token operator">=</span>wisesoft <span class="token punctuation">\</span>
nacos/nacos-server:latest

<span class="token comment">#访问地址 默认账号密码是nacos/nacos</span>
http://ip:8848/nacos
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token comment">// -------- 补充 -----------</span>
<span class="token comment">// 拉取指定版本的nacos https://blog.csdn.net/weixin_41798072/article/details/125945878</span>
docker pull nacos<span class="token operator">/</span>nacos<span class="token operator">-</span>server<span class="token operator">:</span><span class="token number">1.4</span><span class="token number">.1</span>
<span class="token comment">// 不挂载 --restart=always -&gt; 表示docker容器开机自启</span>
docker run <span class="token operator">--</span>name <span class="token class-name">Apai_nacos</span> <span class="token operator">-</span>d <span class="token operator">-</span>p <span class="token number">8848</span><span class="token operator">:</span><span class="token number">8848</span> <span class="token operator">--</span>privileged<span class="token operator">=</span><span class="token boolean">true</span> <span class="token operator">--</span>restart<span class="token operator">=</span>always <span class="token operator">-</span>e <span class="token constant">JVM_XMS</span><span class="token operator">=</span><span class="token number">256</span>m <span class="token operator">-</span>e <span class="token constant">JVM_XMX</span><span class="token operator">=</span><span class="token number">256</span>m <span class="token operator">-</span>e <span class="token constant">MODE</span><span class="token operator">=</span>standalone <span class="token operator">-</span>e <span class="token constant">PREFER_HOST_MODE</span><span class="token operator">=</span>hostname nacos<span class="token operator">/</span>nacos<span class="token operator">-</span>server<span class="token operator">:</span><span class="token number">1.4</span><span class="token number">.1</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_7-minio-对象存储" tabindex="-1"><a class="header-anchor" href="#_7-minio-对象存储" aria-hidden="true">#</a> 7.Minio 对象存储</h4><p><strong>拉取 minio 镜像</strong></p><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token comment">// minio 文件对象存储 类似阿里云oss</span>
docker pull minio<span class="token operator">/</span>minio 
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>创建 minio 容器</strong></p><ul><li>--console-address &quot;:9000&quot; 表示minio的 前端页面的端口</li><li>--address &quot;:9090&quot; 表示minio的文件上传API 的端口 | 在yml 需配置 9090</li></ul><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">docker</span> run <span class="token parameter variable">-id</span> <span class="token parameter variable">--name</span><span class="token operator">=</span>minio <span class="token parameter variable">-p</span> <span class="token number">9000</span>:9000 <span class="token parameter variable">-p</span> <span class="token number">9090</span>:9090 <span class="token parameter variable">-e</span> <span class="token string">&quot;MINIO_PROMETHEUS_AUTH_TYPE=public&quot;</span> <span class="token punctuation">\</span>
<span class="token parameter variable">-e</span> <span class="token string">&quot;MINIO_ROOT_USER=minioadmin&quot;</span> <span class="token parameter variable">-e</span> <span class="token string">&quot;MINIO_ROOT_PASSWORD=minioadmin&quot;</span> <span class="token punctuation">\</span>
<span class="token parameter variable">-v</span> /mnt/minio/data:/data <span class="token parameter variable">-v</span> /mnt/minio/config:/root/.minio minio/minio server /data <span class="token punctuation">\</span>
--console-address <span class="token string">&quot;:9000&quot;</span> <span class="token parameter variable">--address</span> <span class="token string">&quot;:9090&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>--console-address &quot;:9000&quot; --address &quot;:9090&quot; docker使用静态的固定端口，以避免启动时使用随机端口</p></blockquote><p>浏览器访问：192.168.128.128:9000</p><p>java上传: 9090</p><h3 id="_5-rabbitmq-直装" tabindex="-1"><a class="header-anchor" href="#_5-rabbitmq-直装" aria-hidden="true">#</a> 5.Rabbitmq 直装</h3><blockquote><p>rabbitmq 默认端口: 5672 内置web页面默认端口: 15672</p></blockquote><p>说明：请使用资料里提供的CentOS-7-x86_64-DVD-1810.iso 安装虚拟机.</p><h4 id="_1-安装依赖环境" tabindex="-1"><a class="header-anchor" href="#_1-安装依赖环境" aria-hidden="true">#</a> 1. 安装依赖环境</h4><p>在线安装依赖环境：</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>yum <span class="token function">install</span> build-essential openssl openssl-devel unixODBC unixODBC-devel <span class="token function">make</span> gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h4 id="_2-安装erlang" tabindex="-1"><a class="header-anchor" href="#_2-安装erlang" aria-hidden="true">#</a> 2. 安装Erlang</h4><p>根据课前提供的资料，上传如下三个rpm文件</p><p>erlang-18.3-1.el7.centos.x86_64.rpm socat-1.7.3.2-5.el7.lux.x86_64.rpm rabbitmq-server-3.6.5-1.noarch.rpm</p><p>1、安装erlang-18.3-1.el7.centos.x86_64.rpm</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">rpm</span> <span class="token parameter variable">-ivh</span> erlang-18.3-1.el7.centos.x86_64.rpm
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><blockquote><p><strong>出错才进行一下配置</strong></p><p>如果不是采用CentOS-7-x86_64-DVD-1810.iso安装的系统，则有可能出现如下错误</p></blockquote><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/1565526174751.png" alt="1565526174751"></p><p>说明gblic 版本太低。我们可以查看当前机器的gblic 版本</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>strings /lib64/libc.so.6 <span class="token operator">|</span> <span class="token function">grep</span> GLIBC  <span class="token comment">#有的机器当前最高版本2.12，需要2.15.所以需要升级glibc</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>首先使用yum更新安装依赖</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">sudo</span> yum <span class="token function">install</span> zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc <span class="token function">make</span> <span class="token parameter variable">-y</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>然后使用wget命令下载要安装的rpm包</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">wget</span> http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-utils-2.17-55.el6.x86_64.rpm <span class="token operator">&amp;</span>
<span class="token function">wget</span> http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-static-2.17-55.el6.x86_64.rpm <span class="token operator">&amp;</span>
<span class="token function">wget</span> http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm <span class="token operator">&amp;</span>
<span class="token function">wget</span> http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm <span class="token operator">&amp;</span>
<span class="token function">wget</span> http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm <span class="token operator">&amp;</span>
<span class="token function">wget</span> http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm <span class="token operator">&amp;</span>
<span class="token function">wget</span> http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/nscd-2.17-55.el6.x86_64.rpm <span class="token operator">&amp;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>安装rpm包</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token function">sudo</span> <span class="token function">rpm</span> <span class="token parameter variable">-Uvh</span> *-2.17-55.el6.x86_64.rpm <span class="token parameter variable">--force</span> <span class="token parameter variable">--nodeps</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>安装完毕后再查看glibc版本</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>strings /lib64/libc.so.6 <span class="token operator">|</span> <span class="token function">grep</span> GLIBC  <span class="token comment">#发现glibc版本已经到2.17了</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h4 id="_3-安装rabbitmq" tabindex="-1"><a class="header-anchor" href="#_3-安装rabbitmq" aria-hidden="true">#</a> 3. 安装RabbitMQ</h4><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code><span class="token namespace">[root@localhost ~]</span><span class="token comment">#rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm --nodeps</span>
<span class="token namespace">[root@localhost ~]</span><span class="token comment">#rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_4-开启管理界面及配置" tabindex="-1"><a class="header-anchor" href="#_4-开启管理界面及配置" aria-hidden="true">#</a> 4. 开启管理界面及配置</h4><div class="language-powershell line-numbers-mode" data-ext="powershell"><pre class="language-powershell"><code><span class="token comment">## 开启管理界面</span>
<span class="token namespace">[root@localhost ~]</span><span class="token comment">#rabbitmq-plugins enable rabbitmq_management</span>
<span class="token comment">## 修改默认配置信息</span>
<span class="token namespace">[root@localhost ~]</span><span class="token comment">#vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app </span>
<span class="token comment">## 比如修改密码、配置等等，例如：loopback_users 中的 &lt;&lt;&quot;guest&quot;&gt;&gt;,只保留guest</span>

</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20210315112551706.png" alt="image-20210315112551706"></p><h4 id="_5-rabbitmq-server服务启动" tabindex="-1"><a class="header-anchor" href="#_5-rabbitmq-server服务启动" aria-hidden="true">#</a> 5. rabbitmq-server服务启动</h4><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#service rabbitmq-server start ## 启动服务</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#service rabbitmq-server stop ## 停止服务</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#service rabbitmq-server restart ## 重启服务</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_6-配置虚拟主机及用户" tabindex="-1"><a class="header-anchor" href="#_6-配置虚拟主机及用户" aria-hidden="true">#</a> 6. 配置虚拟主机及用户</h4><h4 id="_6-1-用户角色" tabindex="-1"><a class="header-anchor" href="#_6-1-用户角色" aria-hidden="true">#</a> 6.1. 用户角色</h4><p>RabbitMQ在安装好后，可以访问http://ip地址:15672；其自带了guest/guest的用户名和密码；如果需要创建自定义用户；那么也可以登录管理界面后，如下操作：</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/1565098043833.png" alt="1565098043833"></p><p>当然我们也可以添加一个其他的用户，点击admin，在右侧点击users</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220117191320550.png" alt="image-20220117191320550"></p><blockquote><p>角色说明：</p><p>1、超级管理员(administrator)：可登陆管理控制台，可查看所有的信息，并且可以对用户，策略(policy)进行操作。 2、监控者(monitoring):可登陆管理控制台，同时可以查看rabbitmq节点的相关信息(进程数，内存使用情况，磁盘使用情况等) 3、策略制定者(policymaker):可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。 4、普通管理者(management):仅可登陆管理控制台，无法看到节点信息，也无法对策略进行管理。 5、其他:无法登陆管理控制台，通常就是普通的生产者和消费者。</p></blockquote><h4 id="_6-2-virtual-hosts配置" tabindex="-1"><a class="header-anchor" href="#_6-2-virtual-hosts配置" aria-hidden="true">#</a> 6.2. Virtual Hosts配置</h4><p>像mysql拥有数据库的概念并且可以指定用户对库和表等操作的权限。RabbitMQ也有类似的权限管理；在RabbitMQ中可以虚拟消息服务器Virtual Host，每个Virtual Hosts相当于一个相对独立的RabbitMQ服务器，每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。 相当于mysql的db。Virtual Name一般以/开头。</p><h5 id="_6-2-1-创建virtual-hosts" tabindex="-1"><a class="header-anchor" href="#_6-2-1-创建virtual-hosts" aria-hidden="true">#</a> 6.2.1. 创建Virtual Hosts</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220117191703283.png" alt="image-20220117191703283"></p><h5 id="_6-2-2-设置virtual-hosts权限" tabindex="-1"><a class="header-anchor" href="#_6-2-2-设置virtual-hosts权限" aria-hidden="true">#</a> 6.2.2. 设置Virtual Hosts权限</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220117191749626.png" alt="image-20220117191749626"></p><h5 id="_6-2-3-用户绑定virtualhost" tabindex="-1"><a class="header-anchor" href="#_6-2-3-用户绑定virtualhost" aria-hidden="true">#</a> 6.2.3 用户绑定virtualhost</h5><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220117191959072.png" alt="image-20220117191959072"></p><h4 id="_7-添加rabbitmq配置文件" tabindex="-1"><a class="header-anchor" href="#_7-添加rabbitmq配置文件" aria-hidden="true">#</a> 7. 添加rabbitMQ配置文件</h4><p>在管理界面的overview里面，下面有如下配置，找不到队列的配置文件</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220117192125072.png" alt="image-20220117192125072"></p><p>复制rabbitmq的配置文件到/etc/rabbitmq里面里面，操作如下</p><div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code><span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#cd /usr/share/doc/rabbitmq-server-3.6.5/</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment">#service rabbitmq-server restart</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-docker-desktop" tabindex="-1"><a class="header-anchor" href="#_6-docker-desktop" aria-hidden="true">#</a> 6. Docker Desktop</h3><blockquote><p>Win系统内置Linux系统 且可视化 Docker 容器</p></blockquote><ul><li>Docker Desktop <a href="https://docs.docker.com/desktop/install/windows-install/" target="_blank" rel="noopener noreferrer">官方下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a> <a href="https://www.aliyundrive.com/s/WsXjXH7WbZG" target="_blank" rel="noopener noreferrer">Apai 网盘地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>安装参考<a href="https://blog.csdn.net/m0_73795841/article/details/127441288" target="_blank" rel="noopener noreferrer">地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>启动报错 wsl_update_x64.msi <a href="https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package" target="_blank" rel="noopener noreferrer">下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><h4 id="docker-desktop-安装" tabindex="-1"><a class="header-anchor" href="#docker-desktop-安装" aria-hidden="true">#</a> Docker Desktop 安装</h4><p>1.安装<a href="https://so.csdn.net/so/search?q=docker&amp;spm=1001.2101.3001.7020" target="_blank" rel="noopener noreferrer">docker<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a> desktop for windows需要Hype-v的支持</p><ul><li><p>以管理员运行一下脚本即可</p></li><li><p>脚本名称： Docker Desktop .cmd</p></li><li><p>可能会循环几遍 ，停止循环，最后输入y，安装完毕，重启电脑</p></li></ul><div class="language-cmd line-numbers-mode" data-ext="cmd"><pre class="language-cmd"><code>pushd &quot;%~dp0&quot;
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum &gt;hyper-v.txt
for /f %%i in (&#39;findstr /i . hyper-v.txt 2^&gt;nul&#39;) do dism /online /norestart /add-package:&quot;%SystemRoot%\servicing\Packages\%%i&quot;
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>2.查看是否脚本运行成功</p><ul><li><strong>win 搜索</strong> 打开或关闭windows功能</li></ul><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520142654644.png" alt="image-20230520142654644"></p><p>3.Docker Desktop for Windows 下载:</p><ul><li>正常安装即可</li></ul><p>4.如遇到报错 wsl_update_x64.msi <a href="https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package" target="_blank" rel="noopener noreferrer">下载地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a> 下载运行即可</p><p>5.cmd黑窗口: 可直接输入docker 相关的命令即可</p><h4 id="创建容器" tabindex="-1"><a class="header-anchor" href="#创建容器" aria-hidden="true">#</a> 创建容器</h4><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token comment">// 拉取镜像</span>
docker pull redis<span class="token operator">:</span><span class="token number">5.0</span>
docker pull nacos<span class="token operator">/</span>nacos<span class="token operator">-</span>server<span class="token operator">:</span><span class="token number">1.4</span><span class="token number">.1</span>
   
<span class="token comment">// 创建容器</span>
docker run <span class="token operator">--</span>name <span class="token class-name">Apai_nacos</span> <span class="token operator">-</span>d <span class="token operator">-</span>p <span class="token number">8848</span><span class="token operator">:</span><span class="token number">8848</span> <span class="token operator">--</span>privileged<span class="token operator">=</span><span class="token boolean">true</span> <span class="token operator">--</span>restart<span class="token operator">=</span>always <span class="token operator">-</span>e <span class="token constant">JVM_XMS</span><span class="token operator">=</span><span class="token number">256</span>m <span class="token operator">-</span>e <span class="token constant">JVM_XMX</span><span class="token operator">=</span><span class="token number">256</span>m <span class="token operator">-</span>e <span class="token constant">MODE</span><span class="token operator">=</span>standalone <span class="token operator">-</span>e <span class="token constant">PREFER_HOST_MODE</span><span class="token operator">=</span>hostname nacos<span class="token operator">/</span>nacos<span class="token operator">-</span>server<span class="token operator">:</span><span class="token number">1.4</span><span class="token number">.1</span>
    
docker run <span class="token operator">-</span>id <span class="token operator">--</span>name<span class="token operator">=</span><span class="token class-name">Apai_redis</span> <span class="token operator">-</span>p <span class="token number">6379</span><span class="token operator">:</span><span class="token number">6379</span> <span class="token operator">--</span>restart<span class="token operator">=</span>always <span class="token operator">--</span>restart<span class="token operator">=</span>always redis<span class="token operator">:</span><span class="token number">5.0</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="项目版本管理" tabindex="-1"><a class="header-anchor" href="#项目版本管理" aria-hidden="true">#</a> 项目版本管理</h2><h3 id="_1-git-下载" tabindex="-1"><a class="header-anchor" href="#_1-git-下载" aria-hidden="true">#</a> 1.Git 下载</h3><ul><li>在IDEA即可实现一键安装</li></ul><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520143526088.png" alt="image-20230520143526088"></p><h3 id="_2-gitkraken-小章鱼" tabindex="-1"><a class="header-anchor" href="#_2-gitkraken-小章鱼" aria-hidden="true">#</a> 2.Gitkraken: 小章鱼</h3><blockquote><p>项目管理工具</p><p>默认安装位置: C:\Users\Lujun\AppData\Local\gitkraken\app-6.5.1</p></blockquote><p>汉化:https://github.com/k-skye/gitkraken-chinese</p><p>1.汉化文件目录: C:\Users\Lujun\AppData\Local\gitkraken\app-6.5.1\resources\app.asar.unpacked\src</p><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/My-PicGo/image-20220904151832278.png" alt="image-20220904151832278"></p><p>3.重启</p><h4 id="方式一-每人一个分支" tabindex="-1"><a class="header-anchor" href="#方式一-每人一个分支" aria-hidden="true">#</a> 方式一: 每人一个分支</h4><p>1.先拉取 云端masterr 内容更新到 本地master</p><p>2.变基: 将最新的 本地master 的内容更新至 apai分支</p><p>3.上传apai分支: 先将apai分支内容储存至本地 然后 直接push 至云端apai分支</p><p>4.管理员 变基 拉取云端apai分支内容合并到本地master里 进行修改或者解决冲突 然后进行push到云端master上</p><h4 id="方式二-共享一个分支" tabindex="-1"><a class="header-anchor" href="#方式二-共享一个分支" aria-hidden="true">#</a> 方式二: 共享一个分支</h4><p>只要遵循 上传之前先拉取pull至最新 解决掉冲突 保证正常 然后再上传push 即可</p><h2 id="apai-前途与玫瑰" tabindex="-1"><a class="header-anchor" href="#apai-前途与玫瑰" aria-hidden="true">#</a> | --- Apai 前途与玫瑰</h2><h2 id="个人-app" tabindex="-1"><a class="header-anchor" href="#个人-app" aria-hidden="true">#</a> 个人 App</h2><h3 id="picgo-setup-图床" tabindex="-1"><a class="header-anchor" href="#picgo-setup-图床" aria-hidden="true">#</a> PicGo-Setup 图床</h3><blockquote><p>配合 Typora MD 文档 实现图床功能</p></blockquote><ul><li>PicGo-Setup <a href="https://www.aliyundrive.com/s/nNfm7Eh4PPv" target="_blank" rel="noopener noreferrer">云盘下载<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>PicGo-Setup <a href="https://luisapai.gitee.io/blogs/GongZuo/dazahui/Typoratuchuang.html" target="_blank" rel="noopener noreferrer">官网地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li><li>安装配置参考 <a href="https://picgo.github.io/PicGo-Core-Doc/" target="_blank" rel="noopener noreferrer">地址<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><p>​ <img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520153223227.png" alt="image-20230520153223227"></p><h3 id="office-2021" tabindex="-1"><a class="header-anchor" href="#office-2021" aria-hidden="true">#</a> Office 2021</h3><ul><li>安装地址: 阿里云盘&gt;Apai分享&gt;Office-2021</li></ul><div class="language-java line-numbers-mode" data-ext="java"><pre class="language-java"><code><span class="token number">1.</span> 正常安装 office <span class="token number">2021.</span>img
<span class="token number">2.</span> 打开kms破解工具 选择自动破解
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://cdn.jsdelivr.net/gh/LuJunandapai/ApaiImage@main/MaYun-PicGo/image-20230520163203890.png" alt="image-20230520163203890"></p></div></div><footer class="page-meta"><!----><div class="meta-item last-updated"><span class="xicon-container left meta-item-label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="xicon-icon" style="width:20px;height:20px;font-size:20px;color:inherit;"><path d="M26 4h-4V2h-2v2h-8V2h-2v2H6c-1.1 0-2 .9-2 2v20c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 22H6V12h20v14zm0-16H6V6h4v2h2V6h8v2h2V6h4v4z" fill="currentColor"></path></svg><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Last Updated 2023-07-19 09:58:39<!--]--></span></span></div></footer><nav class="page-nav"><p class="hasNext inner"><!----><span class="page-nav-item next">Java 代码生成器 → </span></p></nav><!----></main><!--]--><div class="page-catalog-container"><h5 class="tip">文章层级目录</h5><ul><!--[--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#java-开发的工具" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="| --- Java 开发的工具"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->| --- Java 开发的工具<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#代码查看-app" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="代码查看 App"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->代码查看 App<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_1-typora-md-文档" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="1.Typora MD 文档"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->1.Typora MD 文档<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_2-notepad" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="2.Notepad"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2.Notepad<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_3-editplus" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="3.EditPlus"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->3.EditPlus<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#java-基础必备" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="Java 基础必备"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Java 基础必备<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_1-jdk-8" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="1.JDK 8"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->1.JDK 8<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_2-mysql8" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="2.MySQL8"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2.MySQL8<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_3-navicat-数据库可视化" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="3.Navicat 数据库可视化"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->3.Navicat 数据库可视化<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_4-powerdesigner-表设计" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="4.PowerDesigner 表设计"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->4.PowerDesigner 表设计<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_5-eclipse-代码编写" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="5.Eclipse:  代码编写"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->5.Eclipse:  代码编写<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_6-visual-studio-code" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="6.Visual Studio Code"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->6.Visual Studio Code<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_7-idea" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="7.IDEA"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->7.IDEA<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_8-webstorm-前端" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="8.WebStorm 前端"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->8.WebStorm 前端<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_9-maven-项目" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="9.Maven:  项目"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->9.Maven:  项目<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_10-tomcat-服务器" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="10.Tomcat:  服务器"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->10.Tomcat:  服务器<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_11-postman-请求测试" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="11.Postman: 请求测试"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->11.Postman: 请求测试<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#html-常用工具" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="HTML 常用工具"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->HTML 常用工具<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_1-node-js" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="1.Node JS"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->1.Node JS<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_2-npm" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="2.Npm"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2.Npm<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_3-vue-cli4-安装" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="3.Vue-cli4 安装"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->3.Vue-cli4 安装<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_4-创建vue-cli4项目" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="4.创建vue-cli4项目"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->4.创建vue-cli4项目<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_5-element-ui-前端框架" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="5.Element UI 前端框架"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->5.Element UI 前端框架<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_6-axios-安装异步请求" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="6.Axios  安装异步请求"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->6.Axios  安装异步请求<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_7-vue-浏览器插件" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="7.VUE 浏览器插件"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->7.VUE 浏览器插件<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#linux-系统" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="Linux 系统"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Linux 系统<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_1-linux虚拟机" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="1.Linux虚拟机"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->1.Linux虚拟机<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_2-xshell-7" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="2.Xshell 7"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2.Xshell 7<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_3-xftp-7" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="3.Xftp 7"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->3.Xftp 7<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_4-docker-应用部署" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="4.Docker 应用部署"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->4.Docker 应用部署<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_5-rabbitmq-直装" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="5.Rabbitmq 直装"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->5.Rabbitmq 直装<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_6-docker-desktop" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="6. Docker Desktop"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->6. Docker Desktop<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#项目版本管理" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="项目版本管理"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->项目版本管理<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_1-git-下载" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="1.Git 下载"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->1.Git 下载<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#_2-gitkraken-小章鱼" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="2.Gitkraken: 小章鱼"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->2.Gitkraken: 小章鱼<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#apai-前途与玫瑰" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="| --- Apai 前途与玫瑰"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->| --- Apai 前途与玫瑰<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_2"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#个人-app" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="个人 App"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->个人 App<!--]--></span></span><!--[--><!--]--></a></li><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#picgo-setup-图床" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="PicGo-Setup 图床"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->PicGo-Setup 图床<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--[--><li class="page-catalog-menu-depth_3"><a aria-current="page" href="/docs/Rests-docs/JavaKaiFa.html#office-2021" class="router-link-active router-link-exact-active link page-catalog-item" aria-label="Office 2021"><!--[--><!--]--><span class="xicon-container left"><!--[--><!----><!--]--><span class="xicon-content" style="color:inherit;font-size:14px;"><!--[-->Office 2021<!--]--></span></span><!--[--><!--]--></a></li><!--]--><!--]--><!--]--></ul></div></div></div></div><!----><!----><!--]--></div>
    <script type="module" src="/assets/app-8a43a0f0.js" defer></script>
  </body>
</html>
